Лямбда в выражении возврата дает два выхода, но только один, если print не используется - PullRequest
0 голосов
/ 27 сентября 2018
def x(n):
    return lambda a: print(a)
print(x(1)(2))

это выводит: 2 Нет

Для чего это Нет?Я не понимаю поток здесь ...

1 Ответ

0 голосов
/ 27 сентября 2018

Что вам нужно:

def x(n):
    return lambda a: a
print(x(1)(2))

Когда вы делаете return lambda a: print(a), вы печатаете a, а также возвращаете то, что print() возвращает то, что вы печатаете при вызове функции.print() оператор возвращает None.Смотри:

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