Python Glossary English

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

inspect.ismethod()

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

Проверяет, что объект — связанный метод, написанный на Python: функция, уже привязанная к экземпляру или классу.

Синтаксис

inspect.ismethod(object) -> bool

Метод появляется только при обращении через экземпляр: a.m — метод, A.m — обычная функция. Метод класса (classmethod) связан с классом, поэтому ismethod(A.cm) даёт True, а staticmethod остаётся функцией. Методы встроенных типов ([].append) сюда не относятся — для них isbuiltin. У метода есть __self__ (кому привязан) и __func__ (исходная функция).

Примеры

import inspect
class A:
    def m(self): pass
    @classmethod
    def cm(cls): pass
    @staticmethod
    def sm(): pass
a = A()
print(inspect.ismethod(a.m), inspect.ismethod(A.m))  # → True False
print(inspect.ismethod(A.cm), inspect.ismethod(A.sm))  # → True False
print(inspect.ismethod([].append), a.m.__self__ is a)  # → False True

См. также

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