1.作用将类方法转换为类属性,可以用.直接获取属性值或者对属性进行赋值2.实现方式使用p
1. 作用
将类方法转换为类属性,可以用 . 直接获取属性值或者对属性进行赋值
2.实现方式
使用property类来实现,也可以使用property装饰器实现,二者本质是一样的。多数情况下用装饰器实现。
class Student(object):
@property
def score(self):
return self._score
@score.setter
def score(self, value):
if not isinstance(value ,int):
raise ValueError('分数必须是整数')
if value <0 or value>100:
raise ValueError('分数必须0-100之间')
self._score = value
student = Student()student.score = 65print(student.score)65
score()方法上增加@property装饰器,等同于score= property(fget=score),将score赋值为property的实例。
所以,被装饰后的score,已经不是这个实例方法score了,而是property的实例score。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python @property 方法