У меня есть следующие функции лямбды:Python лямбда не возвращается None вместо пустой строки
f = lambda x: x == None and '' or x
Он должен возвращать пустую строку, если она не получает None в качестве аргумента, или аргумент, если он не не None.
Например:
>>> f(4)
4
>>> f(None)
>>>
Если я позвоню е (None) вместо того, чтобы пустая строка, я получаю None. Я напечатал тип возвращаемой функции и получил NoneType. Я ожидал струны.
тип ('') возвращает строку, поэтому я хотел бы знать, почему лямбда не возвращает пустую строку, когда я передаю None в качестве аргумента.
Я довольно новичок в лямбдах, поэтому я, возможно, неправильно понял некоторые вещи о том, как они работают.
Вы совершили один из классических Грубые ошибки ... – PaulMcG