gpt4 book ai didi

python - 如何将类变量/对象重置为其初始状态?

转载 作者:行者123 更新时间:2023-12-04 10:39:24 25 4
gpt4 key购买 nike

我有以下类(class):

class SummableSequence(object):
initials=[]


def __init__(self, *initial):

for i in initial:
self.initials.append(i)


def __call__(self, i):
l=self.initials
new_number = sum(l)
for j in range(i):
new_number=sum(l)
l.append(new_number)
del l[0]
return l

当我实例化它时:
new= SummableSequence(0,1)

每次我将其称为:
new(5)

输出应该是 5。它第一次运行良好,但再次运行时,输出会发生变化。我认为这是因为列表首字母的值没有重置。如何将该值重置为原始值,并且每次调用电话时都不更改它?

最佳答案

__call__功能,您可以创建一个新副本self.initials并将其存储在 l ,然后对其进行操作,使原件不受影响。这可以这样做:

l = self.initials.copy()

__call__ 的第一行.

关于python - 如何将类变量/对象重置为其初始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60005352/

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