簡體   English   中英

Python-isinstance(classInfo,classInfo)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM