ISINSTANCE方法

astropy.utils.introspection.isinstancemethod(cls, obj)[源代码]

返回 True 如果给定对象是定义它的类的实例方法(与 staticmethod 或A classmethod

这需要对象所属的类以及对象本身才能做出此决定。

参数
clstype类型

定义此方法的类。

objobject对象

提供的类的成员(不直接检查成员身份,但此函数将始终返回 False 如果给定对象不是给定类的成员)。

实例

>>> class MetaClass(type):
...     def a_classmethod(cls): pass
...
>>> class MyClass(metaclass=MetaClass):
...     def an_instancemethod(self): pass
...
...     @classmethod
...     def another_classmethod(cls): pass
...
...     @staticmethod
...     def a_staticmethod(): pass
...
>>> isinstancemethod(MyClass, MyClass.a_classmethod)
False
>>> isinstancemethod(MyClass, MyClass.another_classmethod)
False
>>> isinstancemethod(MyClass, MyClass.a_staticmethod)
False
>>> isinstancemethod(MyClass, MyClass.an_instancemethod)
True