gpt4 book ai didi

python - 何时以及多久在 python 中计算属性?

转载 作者:太空狗 更新时间:2023-10-30 01:55:19 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
python: are property fields being cached automatically?

作为对 python 中属性效率的关注,我想知道它们何时以及多久被调用一次。

举个简单的例子,假设我继承了 namedtuple 并且我有类似的东西:

from collections import namedtuple
from math import pi

class Circle (namedtuple('Circle', 'x, y, r')):
__slots__ = ()

@property
def area(self):
return pi*self.r**2

unitCircle = Circle(0, 0, 1.0)
print 'The area of the unit circle is {0} units'.format(unitCircle.area)

我假设直到第一次调用时才计算面积,但是一旦调用,该值是缓存起来直到发生变化还是每次调用时都重新计算?

换句话说,如果我有一个属性(不像这个)计算起来相对昂贵并且会被重复使用,我应该让它成为一个属性,还是将它作为一个值存储更有效并明确地在真正需要更新时计算它?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com