标签:属性 ini int person style 结果 作用 col get
property是一个类,可以把一个方法当做属性进行使用,这样做可以简化代码使用。
实际上就是装饰类中属性的getter setter方法,使得属性可以通过 对象.属性 的方式获取或设置
使用property的两种方式
2. 装饰器方式
@property 修饰获取的方法getter, 方法名必须和属性名一样
@age.setter 修饰设置值的方法setter, 方法名必须和属性名一样
class Person(object): def __init__(self): self.__age = 0 # 装饰器方式的property, 把age方法当做属性使用, 表示当获取属性时会执行下面修饰的方法 @property def age(self): return self.__age # 把age方法当做属性使用, 表示当设置属性时会执行下面修饰的方法 @age.setter def age(self, new_age): if new_age >= 150: print("成精了") else: self.__age = new_age # 创建person p = Person() print(p.age) p.age = 100 print(p.age) p.age = 1000
运行结果:
0 100 成精了
说明:
class Person(object): def __init__(self): self.__age = 0 def get_age(self): """当获取age属性的时候会执行该方法""" return self.__age def set_age(self, new_age): """当设置age属性的时候会执行该方法""" if new_age >= 150: print("成精了") else: self.__age = new_age # 类属性方式的property属性 age = property(get_age, set_age) # 创建person p = Person() print(p.age) p.age = 100 print(p.age) p.age = 1000
运行结果:
0 100 成精了
代码说明:
标签:属性 ini int person style 结果 作用 col get
原文地址:https://www.cnblogs.com/liuxuelin/p/14248722.html