【问题标题】:Test presence of class attribute in derived class, but not in parent class在派生类中测试类属性的存在,但在父类中不存在
【发布时间】:2021-01-01 12:30:27
【问题描述】:

我想检查Child 类是否定义了classattr(也可能在其父类中定义)。这是 MWE:

class Base(object):
    classattr=1
class Child(Base):
    pass

print(hasattr(Child,'classattr'))

打印True。使用inspect.getmebers也会发生同样的情况。

我怎样才能知道类属性是在哪个类中定义的?

【问题讨论】:

    标签: python


    【解决方案1】:

    检查__dict__是否有密钥classattr

    'classattr' in Child.__dict__
    False
    'classattr' in Base.__dict__
    True
    

    【讨论】:

    猜你喜欢
    • 2018-11-24
    • 2020-08-19
    • 1970-01-01
    • 2015-04-28
    • 2019-08-11
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    相关资源
    最近更新 更多