property 属性

#propery 属性
"""
内置装饰器函数,只在面向对象中使用。
"""
#计算圆的面积,圆的周长
from math import pi
class Circle:
    def __init__(self,r): #r是圆的半径
        self.r = r
    @property
    def perimeter(self): #方法 后面不能传参数
        return  2*pi*self.r

    @property
    def aera(self): #方法 后面不能传参数
        return self.r**2*pi
c1 = Circle(5)
#print(c1.aera()) #没有使用@property的时候需要这样调用。
#在类里面定义的动作,那么他就是一个方法
#周长,面积是个名词的话,算是一个属性。但是,他是通过计算得来的。
#通过@property 装饰器。函数后面不能传参数
#再次调用的时候就是一个属性了。
直接调用。
print(c1.aera)
print(c1.perimeter)

 再比如get_area 获取圆的面积就是动作。

再比如获取学生信息也是动作,但是学生信息就是属性。

原文地址:https://www.cnblogs.com/ken-yu/p/12172387.html