class Person(object):def __init__(self, name,age):#屬性直接對外暴露#self.age = age#限制訪問self.__age = ageself.__name = name'''def getAge(self):return self.__agedef setAge(self,age):if age<0:age = 0self.__age = age'''#方法名為受限制的變量去掉雙下劃線@propertydef age(self):return self.__age@age.setter #去掉下劃線 setterdef age(self,age):if age<0:age = 0self.__age = age@propertydef name(self):return self.__name@name.setter #去掉下劃線 setterdef name(self,name):self.__name = name
per = Person("tom",18)
#屬性直接對外暴露
#不安全,沒有數據的過濾
# per.age = -10
# print(per.age)#使用限制訪問,需要自己些get 和set 方法
#
# per.setAge(15)
# print(per.getAge())per.age = 100 #相當于調用setAge
print(per.age)#相當于調用getAge
per.name = "liu"
print(per.name)#peoprety:可以讓你對手限制訪問你的屬性使用點語法
?