首页 » 编程 » Python » 正文

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

 

 

发表评论

*