Python Private変数にアクセス
アンダースコア2個(__)で始まるクラス変数やインスタンス変数
アンダースコア2個で始まるクラス変数やインスタンス変数は、自クラス以外から隠蔽されます。
しかし実際には、名前マングリング(名前難号化)という機能により変数名が変更されるだけです。
そのため、変更された変数名を使えば自クラス以外からも参照できます。
たとえば、Sampleクラスの__num3という変数は、下記のように_Sample__num3に変わります。
ただし、デバッグなどの特殊な状況以外では、_Sample__num3を使って直接アクセスするのは推奨しません。
code:py
class Sample:
def __init__(self):
self.__num3 = 300
a = Sample()
print(a._Sample__num3) # 300
参考