对象实例与对象值python

2024-04-24 06:45:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难理解列表中某个对象的实例。 如何在不保存实例的情况下将对象的值保存到列表中? 这是不可能的,不是吗? 下面的colde可以工作,但我希望避免使用.value,因为我可能有几个参数。。不确定我是否足够清楚。。你知道吗

class BougieBuffer:
    def __init__(self):
        self.bougiebuffer=deque(maxlen = 10000)
        self.maximum = Maximum()

    def update(self,bougie):
        self.maximum.value = random.randint(-1,1)
        bougie.maximum.value = self.maximum.value
        self.bougiebuffer.append(bougie)
        print len(self.bougiebuffer)
        for i in range (len(self.bougiebuffer),0,-1):
            print self.bougiebuffer[i-1].prixFermeture,   self.bougiebuffer[i-1].maximum.value 

我自然会写下面这样的东西,但显然这是不起作用,它返回的所有值相同

bougie.maximum = self.maximum

Tags: 对象实例self列表参数lenvaluedef
1条回答
网友
1楼 · 发布于 2024-04-24 06:45:13

要创建Maximum()实例的副本,以分配给bougie.maximum属性;请使用^{}^{}

from copy import deepcopy

bougie.maximum = deepcopy(self.maximum)

如果Maximum的任何属性是可变的,则需要deepcopy;一个listdictset或另一个自定义类实例都是可变的,但整数和字符串之类的东西是不可变的。你知道吗

相关问题 更多 >