@property
1 @property 内置装饰器函数,把一个方法调用方式变成属性调用方式。(将一个方法当成一个属性使用)
注意@property装饰器只能在面向对象中使用
2 访问使用@property 装饰器装饰函数可以直接调用函数名(会执行一段功能(函数)然后返回值)
3.@property装饰器只能修饰不带参数的方法
class Person: def __init__(self,name,age): self.name =name self.age = age @property def get_name(self): return self.name def get_age(self): return self.age p1 =Person('johnson',22) print(p1.get_age()) print(p1.get_name) # 22 # johnson
#1.计算圆的周长和面积 # 定义圆类,属性:半径r,pi:3.14 # 方法:求周长,面积 class Circle: def __init__(self,r): self.PI = 3.14 self.r = r @property def calcu_circle(self): return 2*self.PI*self.r @property def calcu_area(self): return self.PI*self.r**2 circle = Circle(25) print(circle.calcu_circle,' ',circle.calcu_area) # 157.0 1962.5