issubclass()和isinstance()

1、issubclass()和isinstance()

1.1 issubclass()

判斷第一個類是否是第二類的子類,返回true或者flasecode

# 判斷第一個類是否是第二類的子類,返回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))  # True

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
相關文章
相關標籤/搜索