属性 (property)
在Python中,可以通过 @property (装饰器)将一个方法转换为属性1、创建用于计算的属性
在Python中,可以通过 @property (装饰器)将一个方法转换为属性,从而实现用于计算的属性。将方法转换为属性后,可以直接通过方法名来访问方法,而不需要再添加一对小括号“()”,这样可以让代码更加简洁。
通过 @property 创建用于计算的属性的语法格式如下:
@property def methodname (self): block
参数说明:
methodname :用于指定方法名,一般使用小写宁母开头。该名称最后将作为创建的属性名
self:必要参数,表示类的实例。
block:方法体,实现的具体功能。在方法体中,通常以return语句结束,用于返回计算结果。
例如,定义一个类,在_ _init_ _() 方法中定义两个实例属性,然后再定义一个计算矩形面积的方法,并应用 @property 将其转换为属性,最后创建类的实例,并访问转换后的属性,代码如下:
class People: aa = 0 bb = 0 def __init__(self,a,b): self.aa = a self.bb = b @property #将方法转换为属性 def mj(self): return self.aa*self.bb pe = People(10,20) print(pe.mj) #输出属性的值200
通过 @property 转换后的属性不能重新赋值,如果对其重新赋值,将抛出异常。
2、为属性添加安全保护机制
本文未完全显示,开通会员查看全文......