当我运行此代码时,出现错误" 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中访问它。
答案 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中调用它们。