采用读写属性的目的就是把录入的数据控制在合理区间。
如:学生的年龄(age),学生的身高(height)...
方法一:利用实例方法来控制
class Student:
def __init__(self,name="",age=0):
self.name = name
self.set_age(age)
def set_age(self,value):
if value > 30:
value = 30
elif value < 20:
value = 20
self.__age = value
def get_age(self):
return self.__age
s = Student("张三",25)
s.name = "王五"
# 下面的传参和调用是错误的
# 这种方式相当于为 s 对象新创建了一个age实例变量并赋值,并不是类中的age实例变量
# s.age = 102
# print(s.name,s.age)
s.set_age(200)
print(s.name,s.get_age())