Python Glossary English

все Python 3inspectфункция

inspect.isfunction()

проверка вида объекта

Проверяет, что объект — функция, написанная на Python (def или lambda), то есть types.FunctionType.

Синтаксис

inspect.isfunction(object) -> bool

Это не «можно ли вызвать»: встроенные len и print, связанные методы, functools.partial и классы дают False. Метод, взятый у класса (A.m), — обычная функция, а у экземпляра (a.m) — уже метод, и isfunction его не узнаёт. Для «вызываемо ли» — callable(), для «функция или метод любого происхождения» — isroutine().

Примеры

import functools, inspect
class A:
    def m(self): pass
print(inspect.isfunction(A.m), inspect.isfunction(A().m))  # → True False
print(inspect.isfunction(lambda: 0), inspect.isfunction(len))  # → True False
print(inspect.isfunction(functools.partial(print)), callable(len))  # → False True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности