Python-31章 isinstance type issubclass

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章