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 获取圆的面积就是动作。

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

posted @   ken-yu  阅读(184)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示