我不理解这种行为:
def getvariable(v):
v += 1
def getlist(l):
l.append(8)
myvariable = 1
mylist = [5, 6, 7]
print myvariable, mylist
getvariable(myvariable)
getlist(mylist)
print myvariable, mylist
输出:
1 [5, 6, 7]
1 [5, 6, 7, 8]
为什么列表改变了,但变量没有改变? 如何在函数中改变变量? 许多人谈论传值、传引用、传对象引用,所以我有些困惑,不知道实际是怎样的。
C++
的“按值传递参数”,这会导致参数的值被复制并传递,则我的论点成立:在Python中,现在不存在(这种)按值传递参数的情况。 - shx2