一,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)
二,第二种方法隐藏属性的赋值与取值
这样表面看起来像是在给属性赋值与取值,实际是调用的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)