public とprivateの違い

class Sample:
num1 = 100
__num2 = 200

print(Sample.num1)
print(Sample.__num2) AttributeError

num1=100 はどこからでもアクセス可能 Public
__num2=100は自分のクラスのみアクセス可能 Private

Privateにアクセスするのは

class Sample:
  __num2 = 200
  def __init__(self):
    self.__num3 = 300
  def show_num(self):
    print(Sample.__num2)
    print(self.__num3)  →ここまでがクラス内

s = Sample()
s.show_num()

このようにクラス内に参照する関数を置くとprivate変数にアクセスすることが出来る。

コメント

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