@property--属性函数

来源:互联网 发布:淘宝通知买家虚假交易 编辑:程序博客网 时间:2024/06/13 23:28

Python内置的@property装饰器就是负责把一个方法变成属性调用的。这可以让你将一个类方法转变成一个类属性。

Python中有一个被称为属性函数(property)的小概念,它可以做一些有用的事情。在这篇文章中,我们将看到如何能做以下几点:

1、将类方法转换为只读属性
2、重新实现一个属性的setter和getter方法

把一个getter方法变成属性,只需要加上@property就可以了,此时,@property本身又创建了另一个装饰器@getter.setter,负责把一个setter方法变成属性赋值。

示例如下:

class Student(object):    @property    def score(self):        return self._score    @score.setter    def score(self, value):        if not isinstance(value, int):            raise ValueError('score must be an integer!')        if value < 0 or value > 100:            raise ValueError('score must between 0 ~ 100!')        self._score = value
原创粉丝点击