我想要访问在父类构造函数中定义的类变量。以下是代码。
class A(object):
def __init__(self):
x = 0
class B(A):
def __init__(self):
super(B, self).__init__()
def func(self):
print self.x
s = B()
s.func()
这个给我报错:
AttributeError: 'B' object has no attribute 'x'
如果我试图将
func()
改为def func(self):
print x
然后我遇到了错误:
NameError: global name 'x' is not defined
如果我试图将
func()
更改为def func(self):
print A.x
然后我遇到了错误
AttributeError: type object 'A' has no attribute 'x'
现在我没有更多的想法了..在父类A
中正确访问那个类变量x
的方法是什么?谢谢!
注意:我只在我的项目中工作于“B类”部分,因此我无法修改A类并改变变量定义的方式。这是唯一的限制。
x
不是一个类变量。 - Daniel Roseman