python中getter和setter

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)
a=circle(4)
a.area ==>50.26548245743669#被@property修饰过后的方法可以像属性那用使用
a.area=16#被setter修饰过后的方法可以直接赋值,赋的值作为参数传入

a.r==>2.256758334191025

你可能感兴趣的:(python)