Pythonのクラス内でアンダースコア(_)1個で始まる変数の意味を説明する。
結論
- アンダースコア(_)1個で始まる変数はクラス内でのみ参照したい変数である。
- 慣例的にアンダースコア(_)を付けるというだけで、機能的には外部からその変数の値を読み書きすることはできてしまう。※外部からの読み書きは作法として通常はやらない。
具体例
- 変数 _エロさ を設定。これは外部に対しては隠したい変数である。
- 外部から変数 _エロさ の値を読み出すことができる。※作法として通常はやらない。
- 外部から変数 _エロさ の値を書き換えることもできる。※作法として通常はやらない。
class 人間:
def __init__(self, ero):
self._エロさ = ero # 1
ヨシヒコ = 人間(ero='255')
print(ヨシヒコ._エロさ) # 2
ヨシヒコ._エロさ = 999 # 3
print(ヨシヒコ._エロさ)
# 2 print結果
255
# 3 print結果
999
まとめ
Pythonのクラス内でアンダースコア(_)1個で始まる変数の意味を説明した。
コメント