変数名、関数名の前にクラス名の先頭に「_」を付けた文字列を呼び出すとアクセスできる。使用は推奨されない。
サンプルコード
class SampleClass:
__private_value = 0
def __private_func(self):
print("__private_func")
s = SampleClass()
# print(s.__private_value)
# AttributeError: 'SampleClass' object has no attribute '__private_value'
s._SampleClass__private_value = 42
print(s._SampleClass__private_value) # 42
# s.__private_func()
# AttributeError: 'SampleClass' object has no attribute '__private_func'
s._SampleClass__private_func() # __private_func