本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下:1
本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下:
1、@property装饰器的使用场景简单记录如下:
- 负责把一个方法变成属性调用;
- 可以把一个getter方法变成属性,
@property
本身又创建了另一个装饰器@score.setter
,负责把一个setter方法变成属性赋值; - 只定义getter方法,不定义setter方法就是一个只读属性
2、通过一个例子来加深对@property装饰器的理解:利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution。
代码实现如下:
class Screen(object):
@property
def width(self):
return self._width
@width.setter
def width(self,value):
self._width = value
@property
def height(self):
return self._height
@height.setter
def height(self,values):
self._height = values
@property
def resolution(self):
return self._width * self._height
s = Screen()
s.width = 1024
s.height = 768
print('resolution = ',s.resolution)
运行结果:
python3.6 @property 装饰器resolution = 786432