1、调用property 也可传入0 个(既不能读,也不能写的属性)、1个(只读属性)、2 个(读写属性、3
个(读写属性,也可删除〉和4 个(读写属性,也可删除,包含文档说明〉参数。
class Rectangle:
#定义类属性
def __init__(self, width, height):
self.width = width
self.height = height
#定义setter函数
def setsize(self, size):
self.width, self.height = size
#定义getter函数
def getsize(self):
return self.width, self.height
#定义delter函数
def delsize(self):
self.width, self.height = 0, 0
size = property(getsize,setsize,delsize, '矩形属性')
print(Rectangle.size.__doc__)
rect = Rectangle(4, 3)
print(rect.size)
rect.size = 10, 9
print(rect.width, rect.height)
del rect.size
print(rect.size)
2、还可使用@property 装饰器来修饰方法,使之成为属性。
class Cell:
#使用@property设置getter方法
@property
def state(self):
return self._state
#@property修饰state后会多出state.setter方法,用来修饰setter方法
@state.setter
d