property

day30

 

例子:

已知圆的半径,求圆的面积和周长。

传统:

import math


class Circle:
    def __init__(self, radius):  # 圆的半径
        self.radius = radius

    def area(self):
        return math.pi * self.radius ** 2  # 计算面积

    def perimeter(self):
        return 2 * math.pi * self.radius  # 计算周长


c = Circle(8)
print("半径:" + str(c.radius))
print("面积:" + str(c.area()))
print("周长:" + str(c.perimeter()))

运行结果:

半径:8
面积:201.06192982974676
周长:50.26548245743669

加入property:

加入property后由原来的调方法,变成了类似于调属性的操作,即可获得结果。property把函数伪装为了属性,对于使用者来说就如同调用属性一样。

import math


class Circle:
    def __init__(self, radius):  # 圆的半径
        self.radius = radius

    @property
    def area(self):
        return math.pi * self.radius ** 2  # 计算面积

    @property
    def perimeter(self):
        return 2 * math.pi * self.radius  # 计算周长


c = Circle(8)
print("半径:" + str(c.radius))
print("面积:" + str(c.area))
print("周长:" + str(c.perimeter))

运行结果:

半径:8
面积:201.06192982974676
周长:50.26548245743669

 

 

版权声明:
作者:admin
链接:https://www.chenxie.net/archives/1755.html
来源:蜀小陈
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>