isinstance type issubclass
class animal():
def eat(self):
print("饿了吃点东西")
class cat(animal):
def play(self):
print("猫喜欢玩")
c = cat()
print(isinstance(c,cat)) #输出 : True
print(isinstance(c,animal)) # 向上判断,输出: True
a = animal()
print(isinstance(a,cat)) #不能向下判断,输出:False
#判断某一个类是不是某一个类的家族体系中的
print(type(a)) #返回a的数据类型,精准告诉你这个对象的数据类型,输出:<class '__main__.animal'>
#判断,xx类是否是xx的子类
print(issubclass(cat,animal)) #输出: True
print(issubclass(animal,cat)) #输出: False
区分一个方法和函数
在类中,如果是
类名.方法 调用,是一个函数
对象.方法 调用,是一个方法
类方法:都是方法
静态方法:都是函数
def func():
print("我是函数")
class roo:
def chi(self): #实例方法
print("我是方法")
r = roo()
#借助from types import functiontype methodtype判断是方法还是函数
from types import FunctionType, MethodType
print(isinstance(r.chi,FunctionType)) #判断是不是一个函数,输出:False
print(isinstance(r.chi,MethodType)) #判断是不是一个方法,输出:True
print(isinstance(roo.chi,FunctionType)) #输出: True
来源:CSDN
作者:荒-于嬉
链接:https://blog.csdn.net/weixin_44455125/article/details/103223854