2010-12-07 21 views

Respuesta

6

El cuerpo de un lambda tiene que ser una expresión, no una afirmación. print es una afirmación.

Actualización: Como se señaló, en 2.x, print es una afirmación, mientras que en Python 3, es una función.

+0

@sukhibr de acuerdo con [docs] (http://docs.python.org/release/3.0.1/whatsnew/3.0.html#print-is- a-function) 'print()' es una función. – khachik

+0

khachik, sí, lo he actualizado. – user225312

-1

su camino el idioma se lee que no puede hacer p = lambda s: print(s) en un solo paso

5

la versión de Python está usando ?; en Python 2.7 (y antes), la impresión es una declaración mientras que en Python 3 es una función

+1

en 2.7 se puede hacer 'desde __future__ import print_function' para unificar esto –

+0

Estoy usando python 2.6.6 – david4dev

+0

en python 2.6.6,' print' es una sentencia y como tal no puede ocurrir en expresiones lambda, el El uso de una función de ajuste como en su ejemplo es la solución recomendada –

Cuestiones relacionadas