是否有约定何时以及如何在python中存储len()
或sum()
的值?举个例子,如果你有一个班级
class MyClass:
def __init__(self,single_number = 4,multiple_numbers = [1,2,3]):
self.single= single_number
self.multiple = multiple_numbers
def info(self):
print(f"The length of multiple is {len(self.multiple)}")
print(f"The length of multiple is {len(self.multiple)*4}")
print(f"The length of multiple is longer than {len(self.multiple)-1}")
if __name__ == "__main__":
test=MyClass()
test.info()
# other stuff
test.info()
您将从什么时候开始存储len(self.multiple)
作为其自身的值?值得庆幸的是,python在诸如len
之类的某些任务上省去了for my_numbers in multiple_numbers:
的使用,因此我不需要仅用于迭代。另外,对于类的实例,len
的值是静态的,并且在运行时的不同部分(可能)需要多次(因此),因此它不是临时变量like here。通常,这似乎是(非常少量)内存与计算之间的折衷。同样的问题也适用于sum()
。
部分问题是基于观点的,很高兴听到您对此的看法,但我主要是在寻求有关此问题的约定。
-
len(self.multiple)
应该在什么时候存储为自己的值? - 该名称是否有约定?
length_of_multiple_numbers
似乎过分膨胀,但具有描述性。