黑马程序员技术交流社区

标题: property的简单介绍 [打印本页]

作者: 宫商角徵羽    时间: 2019-6-27 20:52
标题: property的简单介绍
property属性
学习目标

1. property属性的介绍
property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用。
定义property属性有两种方式
2. 装饰器方式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# 创建personp = Person()print(p.age)p.age = 100print(p.age)p.age = 1000
运行结果:
0100成精了
代码说明:
3. 类属性方式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)# 创建personp = Person()print(p.age)p.age = 100print(p.age)p.age = 1000
运行结果:
0100成精了
代码说明:
4. 小结





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2