一、创建用于计算的属性
@property:把一个方法转化为属性,从而实现可以计算的属性。即装饰器。
语法格式:
@property
def methodname(self):
block
例:如果不用@property的话,是这么用的。
如果用@property的话,是这样的:
以上两种写法皆可实现输出结果为:面积为480000
二、为属性添加安全保护机制
__foo,双下划线开头的属性值是私有属性,在类体外不能修改也不能读取属性值。这时候可通过@property来实现类体外读取:
如果想要修改属性值的话,就还需要用到setter:
输出结果为: