无法在python中访问属性

时间:2017-12-01 10:36:04

标签: python python-3.x inheritance class-visibility

当我运行此代码时,出现错误" AttributeError:' NoneType'对象没有属性' test'"

class BaseClass:
    def __new__(self, number):
        self.test = 1

class InheritedClass(BaseClass):
    pass

instance = InheritedClass(1)
print(instance.test)

有人可以向我解释一下从基地继承的究竟是什么吗? Python 2和3之间似乎有区别,因为如果我把" test"在Baseclass的属性字段中,我可以在Python 2中访问它,但不能在3中访问它。

2 个答案:

答案 0 :(得分:0)

尝试将“”替换为“ init

class BaseClass:
    def __init__(self, number):
        self.test = 1

class InheritedClass(BaseClass):
    pass

instance = InheritedClass(1)
print(instance.test)

答案 1 :(得分:0)

init 之间存在差异。 要访问这样的字段,您应该在init中调用它们。