我所理解的是在 init 魔术方法中定义变量。我做了,但下一个方法是不读它。
任何帮助?
class Foo:
var = 9
def __init__(self, a, b):
self.i = a
self.j = b
def add(self, a, b):
print a+b
bar = Foo(5, 5) # create object
print bar.var # access class variable
O / P:
9
为什么不打印
10
9
答案 0 :(得分:3)
您调用了变量self.i
和self.j
,而不是a
和b
,因此您需要引用它们。 add()
应该像这样定义:
def add(self):
print self.i+self.j
答案 1 :(得分:3)
如果要在add
内运行代码,则必须调用它。
bar = Foo(5, 5) # create object
bar.add(5,5)
print bar.var # access class variable