class Person(object): # age 属性的值限制的范围是0-88 def get_age(self): return self._age def set_age(self, value): if value >= 0 and value <= 88: self._age = value else: # print("age 的值必须在0-88之间") self._age = 0 # 如果不在0-88之间就返回0 初始值 raise ValueError('age 的值必须在0-88之间') class Person_Property(object): # age 属性的值限制的范围是0-88 @property # age 属性暴漏出去 def age(self): return self._age @age.setter #当前age属性允许赋值 def age(self, value): if value >= 0 and value <= 88: self._age = value else: # print("age 的值必须在0-88之间") self._age = 0 # 如果不在0-88之间就返回0 初始值 raise ValueError('age 的值必须在0-88之间') @property #对外暴露属性 真实属性为_name 暴漏属性为name def name(self): self._name="张三" return self._name if __name__ == '__main__': #p = Person() # p.set_age(18) #p.set_age(100) #print(p.get_age()) p=Person_Property() p.age=18 #p.age=100 print(p.age) #age 可以读 也可以写 可以往里边赋值 #p.name="李斯" print(p.name) #name 属性只能提取 只读
@property 属性值的限制 (限制在某个范围之内)
于 2022-08-30 23:05:57 首次发布