【发布时间】:2013-02-05 00:57:51
【问题描述】:
我在 Python 中使用了以下堆栈类来存储另一个类的对象。
class Stack :
def __init__(self) :
self.items = []
def push(self, item) :
self.items.append(item)
def pop(self) :
return self.items.pop()
def isEmpty(self) :
return (self.items == [])
scopeStack=Stack();
object1=AnotherClass();
object1.value=2;
scopeStack.push(object1);
在改变栈外对象object1的内容时,栈对象的内容也改变了。
object1.value=3;
obj=scopeStack.pop();
print obj.value; #gives output 3
我应该怎么做才能在局部变量和堆栈的内部变量之间没有这种动态绑定?
【问题讨论】:
-
您希望 Python 如何克隆任意对象?
-
那我应该怎么做才能在 Python 中有这样的东西呢?
-
你可以尝试使用
deepcopy。