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
共有 0 条评论