1. 程式人生 > >類的判斷函數:issubclass,type,isinstance

類的判斷函數:issubclass,type,isinstance

表示 但是 als sin 舉例 內置 true bsp print

issubclass() 這個內置函數可以幫我們判斷xxx類是否是yyy類型的子類

舉例:

class Base:
  pass
class Foo(Base):
  pass
class Bar(Foo):
  pass
print(issubclass(Bar, Foo)) # True
print(issubclass(Foo, Bar)) # False
print(issubclass(Bar, Base)) # True 子類的子類也是可以進行判斷的

type(obj) 表示查看obj是由哪個類組成的

舉例:

class Foo:
  pass
obj = Foo()
print(obj, type(obj)) # 查看obj的類

isinstance也可以判斷xxx是yyy類型的數據. 但是isinstance沒有type那麽精準.

舉例:

class Base:
pass
class Foo(Base):
pass
class Bar(Foo):
pass
print(isinstance(Foo(), Foo)) # True
print(isinstance(Foo(), Base)) # True
print(isinstance(Foo(), Bar)) #False

類的判斷函數:issubclass,type,isinstance