Python - property
在 Python 中,property 是一个内置的装饰器(decorator),用于将类中的方法转换为“属性”(property),使得你可以像访问属性一样访问方法,而不需要显式调用方法。
示例一、
class User:def __init__(self,name,age,sex):self.__name = nameself.__age = ageself.__sex = sexdef __set_age(self,age):if 10<age<50:self.__age = ageelse:print("年龄应在10-30之间")def __get_age(self):return self.__ageage = property(fget=__get_age,fset=__set_age)def __set_sex(self,sex):if sex != "男" or sex != "女":print("性别必须是男或女")else:self.__sex = sexdef __get_sex(self):return self.__sexsex = property(__get_sex,__set_sex)u = User("桀桀桀",20,"男")
print(u.age)
u.age = -50
print(u.age)
print(u.sex)
u.sex = "jjjj"
示例二、
class User:def __init__(self, name, age, sex):self.__name = nameself.__age = ageself.__sex = sex@propertydef age(self):return self.__age@age.setterdef age(self, age):if 10 < age < 50:self.__age = ageelse:print("年龄应在10-30之间")@propertydef sex(self):return self.__sex@sex.setterdef sex(self, sex):if sex != "男" or sex != "女":print("性别必须是男或女")else:self.__sex = sexu = User("桀桀桀", 20, "男")
print(u.age)
u.age = -50
# print(u.age)
print(u.sex)
u.sex = "jjjj"