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