【发布时间】:2018-10-20 05:04:44
【问题描述】:
在 Python 3 中,是否有办法创建一个变量,该变量可以在某个时刻保持类的不变状态?如果有,我一定错过了它的术语。我也不是在谈论静态,我的属性需要能够改变。
它会像这样工作:
class_save = [Class(a,b,c).attribute, Class(d,e,f).attribute]
static_save = class_save
#if I do this
class_save.remove(static_save[1])
#class_save should now equal [Class(a,b,c).attribute]
#static_save should still be equal to [Class(a,b,c).attribute, Class(d,e,f).attribute]
【问题讨论】:
-
您能用更通俗易懂的语言谈论您要解决的问题吗?例如,您是否尝试在某种应用程序中实现“撤消”和“重做”?
-
class_save是一个列表,class_save[:]是该列表的副本。del alist[1]从列表中删除一个项目。 -
Class(a,b,c)看起来像一个类实例,而不是一个“状态”。Class[a,b,c).attribute可以是任何类型的对象。所以class_save只是一个未指定对象的列表。 -
看起来你只是在要求热复制一个对象。这就是你想要的吗?
-
是的,你只是想要一份副本