У меня есть функция с необязательным параметром, которая является другой функцией. Я хочу, чтобы значением по умолчанию для этого параметра была функция, которая ничего не делает.
Чтобы я мог сделать значение по умолчанию None
:
def foo(arg, func=None):
# Other code to get result
if func:
# Apply the optional func to the result
result = func(result)
return result
Или я мог бы сделать значение по умолчанию lambda x: x
:
def foo(arg, func=lambda x: x):
# Other code to get result.
# Apply the func to the result.
result = func(result)
return result
Мне интересно, предпочтителен ли один из этих методов в Python. Преимущество использования lambda x: x
в том, что func
всегда будет иметь тип Callable
для проверки типов, в то время как Optional[Callable]
будет иметь значение по умолчанию None
.
.