Python | プライベート変数の使い方
公開日:2021/6/7
Pythonでは,クラスの内部からしか原則アクセスできないプライベート変数がある.プライベート変数を利用すると,外部から操作できなくする特徴がある.以下にプライベート変数の使い方を記す.
◆実施環境
Python 3.8.8
■プライベート変数を利用した構文
プライベート変数を利用する場合,変数の前に"__"(アンダースコア2つ)をつける.
#1の処理ではプライベート変数を利用しない一般的な構文を作成した.#2の処理で変数をプライベート変数に変更した場合の構文を作成した.#2の処理ではクラスの範囲外でプライベート変数を利用したため,エラーが出力される.#3の処理ではクラス内でプライベート変数を利用した場合の構文を作成した.
# 1の処理(プライベート変数を利用しない構文)
class Crow:
def __init__(self,color,name):
self.color = color
self.name = name
bird = Crow('Black','Kataro')
print(f'color is {bird.color} and name is {bird.name}')
# 2の処理(プライベート変数を利用する構文:エラーあり)
class Crow:
def __init__(self,color,name):
self.__color = color
self.__name = name
bird = Crow('Black','Kataro')
print(f'color is {bird.__color} and name is {bird.__name}')
# 3の処理(プライベート変数を利用する構文:エラーなし)
class Crow:
def __init__(self,color,name):
self.__color = color
self.__name = name
def character(self):
print(f'color is {self.__color} and name is {self.__name}')
bird = Crow('Black','Kataro')
bird.character()
■実行結果
# 1の結果(プライベート変数なし,エラーなし)
color is Black and name is Kataro
# 2の結果(プライベート変数あり,エラーあり)
AttributeError: 'Crow' object has no attribute '__color'
# 3の結果(プライベート変数あり,エラーなし)
color is Black and name is Kataro
以上