美文网首页
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