我得到了这两个类定义:
class Weird(object):
def __init__(self, x, y):
self.y = y
self.x = x
def getX(self):
return x
def getY(self):
return y
class Wild(object):
def __init__(self, x, y):
self.y = y
self.x = x
def getX(self):
return self.x
def getY(self):
return self.y
X = 7
Y = 8
前两个问题没问题;他们只是问了
w2 = Wild(X, Y)
print(w2.getX())
(即7)和
print(w2.getY())
让我感到困惑的是问题
w1 = Weird(X, Y)
print(w1.getX())
和
print(w1.getY())
他们的答案显然都是“错误”,但我不明白为什么会这样。给出的错误分别是“x未定义”和“y未定义”,但我认为x
和y
是我们放入函数的参数。我错过了什么?
答案 0 :(得分:0)
在第一堂课中,x
和y
是构造函数参数。
它们不在此范围之内。
在getX
函数中,x
不存在。您需要从self
引用中检索它,例如在您的第二个类中。