@property的使用
Python内置的@property装饰器就是负责把一个方法变成属性调用的。
下面我将用一个简单的例子来说明@property的使用。
代码实现如下:
class Screen(object):
@property
def width(self):
return self._width
@width.setter
def width(self, width):
self._width =width
@property
def height(self):
return self._height
@height.setter
def height(self, height):
self._height = height
@property
def resolution(self):
return self._height*self._width
首先我们来看一下要求,它说要使用@property添加属性,并且还需要设置一个只读属性。
- 我们需要使用@property,把getter方法变成一个属性,此时,@property本身又创建了另一个装饰器@width.setter,负责把一个setter方法变成属性赋值。
- 对resolution,我们只定义get方法,不定义set方法,就是一个只读属性。