Python dict作为local,而不是reference

2024-09-30 18:23:32 发布

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

我想让我的小脚本发挥作用,但我不知道是什么问题。在

其中一个方法将修改我的测试dictvar,即使我不返回它。我的意思是,我想在本地使用它,而不是返回值。这不是我的实际代码,但你可以确定它是有代表性的。在

>>> class check:
...   def pathgen(self,test):
...     test['a']=0
...     print test
...   def assign(self):
...     test={'a':1}
...     self.pathgen(test)
...     print test #WILL PRINT 0
... 
>>> a=check()
>>> a.assign()
{'a': 0}
{'a': 0}

Tags: 方法代码testself脚本defcheckclass
1条回答
网友
1楼 · 发布于 2024-09-30 18:23:32

如果您希望对一个对象的更改是更改它的函数的本地更改,则需要复制该对象。您可以在调用以下命令时复制词典:

self.pathgen(dict(test))

或者在被调用方内部复制。在

^{pr2}$

相关问题 更多 >