美文网首页
property属性作用及设置方法

property属性作用及设置方法

作者: 越大大雨天 | 来源:发表于2019-05-16 19:14 被阅读0次

    property属性介绍

    property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用。当修改值或者设置值的时候只需要像属性那样使用。

    定义property属性有两种方式

    1. 装饰器方式
    2. 类属性方式

    1. 使用装饰器方式

    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
    输入错误
    

    快捷设置:在pycharm解释器中可以使用快捷方式props直接生成并同步修改。

    2. 使用类属性方式

    下面的方法应该更符合我们的设置习惯,在常规的定义函数方法后再增加一行property的设置即可:

    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
    输入错误
    

    property的参数说明:

    • 第一个参数是获取属性时要执行的方法
    • 第二个参数是设置属性时要执行的方法

    相关文章

      网友评论

          本文标题:property属性作用及设置方法

          本文链接:https://www.haomeiwen.com/subject/wmrzoqtx.html