【发布时间】:2013-05-20 22:18:47
【问题描述】:
在python中,两个不同的变量可以代表同一个对象。观察:
>>> list1=['This is list1.']
>>> list2=list1
>>> list2[0] = 'This is actually list2 not list one.'
>>> print list1
['This is actually list2 not list one.']
Here is a link to this code. 如您所见,没有list1 或list2,只有一个有两个名称的列表。我很清楚这种效果,我从一本书中记得这是故意的,但我忘记了这种现象叫什么。另外,它是偶尔的bug来源,其他语言没有这个问题。我确实有一种感觉,如果没有它,某些与对象有关的事情就会崩溃。这有什么具体好处(因为我真的只知道python。)
【问题讨论】:
-
如果不是这种情况,函数参数将如何工作?
-
呵呵,可能我的书错了。
-
你在看什么书?
-
面向绝对初学者的 Python,第二版
标签: python python-2.7 reference pass-by-reference