0
我一直在考慮這兩個類定義:誤解了類和定義
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
是我們放入函數的參數。我錯過了什麼?
你寫了'return x',而不是'return self.x'。 –
'x'和'y'是'Weird .__ init__'中的本地人。這意味着它們不存在該函數的外部*。 'Weird.getX'和'Weird.getY'是具有獨立名稱空間的獨立函數。 –
'x'和'self.x'有什麼區別? – alexqwx