Почему print () нельзя использовать в лямбда-выражении? - PullRequest
6 голосов
/ 07 декабря 2010

Почему:

p = lambda s: print(s)

неверный синтаксис, но:

def do_print(s):
    print(s)
p = lambda s: do_print(s)

действительный

Ответы [ 3 ]

6 голосов
/ 07 декабря 2010

Тело лямбды должно быть выражением, а не утверждением.print - это оператор.

Обновление: как уже отмечалось, в 2.x print - это оператор, тогда как в Python 3 это функция.

5 голосов
/ 07 декабря 2010

какую версию python вы используете ?;в python 2.7 (и ранее) print - это оператор , а в python 3 это функция

0 голосов
/ 07 декабря 2010

это способ чтения языка, он не может сделать p = lambda s: print(s) все за один шаг

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...