[英]Python - isinstance(classInfo, classInfo)
Python文檔說isinstance
需要一個類的實例對象和類信息。 問題是:我只有2個類信息對象,並且必須檢查class_inf1是否是class_inf2的實例
例:
class Foo(object):
pass
class Bar(Foo):
pass
# It should check if Bar is a instance of Foo. Bar can either be one of many subclasses or
# the same class.
isinstance(Bar, Foo)
# i.e.: the function I'm looking for should be working as if Bar was an object:
isinstance(Bar(), Foo)
在我更復雜的代碼中,我不知道Bar是什么,因為它是一個變量。 我無法初始化它,因為我不知道它需要什么參數,它也可能做一些令人討厭的事情。 (而且我永遠不需要初始化此變量,因為它是一種測試)。
您的術語相當混亂,但是我最好的猜測是您想檢查一個類是否繼承自另一個類。 這是通過內置的issubclass
實現的:
class B(object):
pass
class D(B):
pass
print issubclass(B, object)
print issubclass(D, B) # true
# order matters:
print issubclass(B, D) # false
# it's transitive:
print issubclass(D, object)
# a class is a subclass of itself:
print issubclass(B, B) # true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.