首页 > 其他 > 详细

issubclass()和isinstance()

时间:2019-09-03 19:02:56      阅读:114      评论:0      收藏:0      [点我收藏+]

一、issubclass()和isinstance()

1.1 issubclass()

判断第一个类是不是第二类的子类,返回true或者flase

# 判断第一个类是不是第二类的子类,返回true或者flase


class Foo:
    pass


class A:
    pass


class Bar(Foo,A):
    pass


class Tt(Bar):
    pass

print(A.__bases__)#(<class 'object'>,)
print(Bar.__bases__)  # (<class '__main__.Foo'>,),查看所有的父类,当继承一个类后,将不会显示object,以元组的形式表示:(<class '__main__.Foo'>,)
print(Bar.__base__)#<class '__main__.Foo'> 查看第一个父类
print(issubclass(Tt, object))  # True,object是所有类的祖宗
print(issubclass(Bar, Foo))  # True
print(issubclass(Tt, Foo))  # True
print(issubclass(Tt, A))  # False

1.2 isinstance()

判断第一个参数是不是第二个参数的对象,返回true或者flase

# 判断第一个参数是不是第二个参数的对象,返回true或者flase
#isinstance()
class Foo:
    pass


class Tt():
    pass


f = Foo()
print(isinstance(f, Foo))  # True

print(isinstance(f, Tt))  # False

issubclass()和isinstance()

原文:https://www.cnblogs.com/SkyOceanchen/p/11454640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!