LambdaType против FunctionType - PullRequest
11 голосов
/ 20 июня 2020

Какая разница? документы ничего не показывают по этому поводу, а их help() идентичен. Есть ли объект, для которого isinstance не сработает с одним, но не с другим?

Ответы [ 2 ]

20 голосов
/ 20 июня 2020

Еще в 1994 году я не был уверен, что мы всегда будем использовать один и тот же тип реализации для лямбда и def. Это все, что нужно сделать. Было бы больно удалить его, поэтому мы просто оставляем его (это всего лишь одна строка). Если вы хотите добавить примечание к документам, не стесняйтесь отправлять PR.

5 голосов
/ 20 июня 2020

См. cpython/Lib/types.py:

def _f(): pass
FunctionType = type(_f)
LambdaType = type(lambda: None)         # Same as FunctionType
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...