Почему types.BuiltinFunctionType такой же, как BuiltinMethodType, даже если между функциями и методами существует явная разница? - PullRequest
0 голосов
/ 29 сентября 2018

Поскольку types.BuiltinFunctionType - это то же самое, что и types.BuiltinMethodType:

>>> import types
>>> types.BuiltinFunctionType is types.BuiltinMethodType
True

, невозможно отличить функции от методов, которыереализовано в C:

>>> isinstance(sorted, types.BuiltinMethodType)
True
>>> isinstance(int.from_bytes, types.BuiltinFunctionType)
True

И все же, python четко знает, что sorted - это функция, а int.from_bytes - это метод, который мы можем увидеть в их repr:

>>> sorted
<built-in function sorted>
>>> int.from_bytes
<built-in method from_bytes of type object at 0x7fded4c9d860>

Почему тогда BuiltinFunctionType и BuiltinMethodType - это одно и то же?Есть или нет разница между функциями и методами, определенными в C?

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