selfについて

class Sample:
  num = 100
  def show_num(self):
    num = 200
    print(self.num) # 100
    print(num) # 200

a = Sample()
a.show_num()

self.numはクラス内で定義されたnumの値を参照するが、関数内のnumは関数内で定義されたnumの値を参照するため、違う値になる
selfの定義は手動(自分で明記する必要がある)、代入は自動です。

コメント

タイトルとURLをコピーしました