1.Pythonクラスの非表示の属性割り当てと値
次のメソッドは、SetメソッドとGetメソッドを介して非表示の属性に値を割り当てるために使用されます
class Person():
def __init__(self,age,name,money):
self.__age__ = age
self._name = name
self.__money = money
def SetMoney(self,money):
if money > 0:
self.__money = money
def GetMoney(self):
return self.__money
PersonObj = Person("jack",18,10000)
PersonObj.SetMoney(2000)
print(PersonObj.GetMoney())
print(PersonObj._Person__money)
print(PersonObj.__age__)
print(PersonObj._name)
次に、2番目のメソッドは属性の割り当てと値を非表示にします
これは、属性に値を割り当ててフェッチしているように見えますが、実際にはAgeメソッドと呼ばれ、値を割り当てるときに、データが要件を満たしているかどうかを判断し、要件を満たしている場合は値を割り当て、そうでない場合は割り当ては失敗します。
class Person2():
def __init__(self,Age):
self.__Age = Age
@property
def Age(self):
return self.__Age
@Age.setter
def Age(self,Age):
if Age > 0:
self.__Age = Age
Person2Obj = Person2(18)
Person2Obj.Age = 20
print(Person2Obj.Age)