ex:
import math
class circle:
def __init__(self,r):
self.r=r
@property#getter属性要用@property修饰
def area(self):
return self.r**2*math.pi
@area.setter#setter属性要用@方法名.setter修饰
def area(self,s):
self.r=math.sqrt(s/math.pi)
class circle:
def __init__(self,r):
self.r=r
@property#getter属性要用@property修饰
def area(self):
return self.r**2*math.pi
@area.setter#setter属性要用@方法名.setter修饰
def area(self,s):
self.r=math.sqrt(s/math.pi)
a=circle(4)
a.area ==>50.26548245743669#被@property修饰过后的方法可以像属性那用使用
a.area=16#被setter修饰过后的方法可以直接赋值,赋的值作为参数传入
a.r==>2.256758334191025