все 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Сообщить о неточности