【问题标题】:isinstance alternative to check classes which return flase on being the parent or subclassisinstance 替代检查作为父类或子类返回flase的类
【发布时间】:2019-12-03 08:35:29
【问题描述】:

让我先展示一下isinstance() 的工作原理

class superclass:
    def __init__(self, var):
        self.var = var

class subclass(p):
    pass

obj = subclass("pinoy")

这就是 isinstance 的工作原理

>>> isinstance (obj, superclass)
True

这里obj主要是subclass的一个实例。因为,subclass 继承自 superclass

isinstance(obj, superclass) 返回True

有什么方法可以检查一个对象是否主要属于指定的类,否则返回Flase

【问题讨论】:

标签: python object isinstance


【解决方案1】:

你可以使用type:

class superclass:
    def __init__(self, var):
        self.var = var

class subclass(superclass):
    pass
obj = subclass("pinoy")

print(type(obj))
#<class '__main__.subclass'>

type(obj) == subclass
# True

type(obj) == superclass
# False

【讨论】:

    猜你喜欢
    • 2021-02-15
    • 2014-04-01
    • 2014-06-12
    • 2019-04-25
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多