面向对象编程_isinstance,issubclass,type 的用法

1、简单的介绍:

1、issubclass(cls1,cls2) 接收两个参数, cls1 和cls2 传入的类名,  检查cls1是否是 cls2 的子孙类 返回布尔值 

2、type(object) 接收一个参数,传入一个对象 ,返回这个对象的所属类 ,只会返回所属类,不会返回其父类

3、issubclass(cls1,cls2) 接收两个参数cls1 和cls2 ,传入的类名,检查 cls1 是否是 cls2 的子孙类 返回布尔值 

 

class a:
    pass
class b(a):
    pass
class c(b):
    pass

'''
issubclass(cls1,cls2) 接收两个参数cls1 和cls2 ,传入的类名,检查 cls1 是否是 cls2 的子孙类  返回布尔值 

'''
# c类是否是a类的子类
print(issubclass(c,a))
# c类是否是b类的子类
print(issubclass(c,b))


'''
type(object) 接收一个参数,传入一个对象 ,返回这个对象的所属类 ,只会返回所属类,不会返回其父类
'''

a1 = a()
b1 = b()
c1 = c()


print(type(a1))
print(type(b1))



'''
issubclass(cls1,cls2) 接收两个参数, cls1 和cls2 传入的类名,  检查cls1是否是 cls2 的子孙类 返回布尔值 
'''

# 子类或者子孙类的对象 将会返回True
print(isinstance(a1,a))
print(isinstance(b1,b))
print(isinstance(c1,a))
print(isinstance(c1,b))

# 反过来则不行
print(isinstance(a1,c))

 

posted @ 2021-11-09 19:41  昆虫白  阅读(59)  评论(0)    收藏  举报