私は次のコードで混乱しています:
class Point():
def __init__(self, x=0, y=0):
self.x = x
self.y = y
x
コード内のこれら2つの意味がわかりませんself.x = x
。
self.x
Pointクラスの属性です。したがって、pがPointクラスのインスタンスである場合、p.x
上記のようになりself.x
ます(selfは定義しているクラスへの参照です)。2つ目x
は、初期化時に渡されるパラメーターdef __init__(self, x=0, y=0):
です。何も渡さない場合のデフォルトはゼロであることに注意してください。
1つ目x
はの属性でself
あり、2つ目は2番目の引数としてメソッドに入ります。
あなたはそれを次のように書くことができます:
class Point():
def __init__(self, new_x=0, new_y=0):
self.x = new_x
self.y = new_y
どれがどれに属するかを確認します。
最初にこの質問と答えを読んでください:自己の目的は何ですか?。あなたの質問に対して、最初self.x
はの属性でself
あり、2番目x
はコンストラクターで取得している引数ですPoint
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary # self ? ? ?
def displayEmployee(self):
salary = -69
print self.name, self.salary,salary # self ? ? ?
走る:
emp1 = Employee("nick", 2000)
emp1.displayEmployee() # self ! ! !
出力:
ニック2000-69
「自己」が説明しました!:self.salary = 2000、salary = -69