【发布时间】:2013-05-13 09:29:43
【问题描述】:
我不明白这种行为:
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]
为什么列表改变了,而变量没有? 如何更改函数中的变量? 很多人说传值、传引用、传对象,所以我有点迷糊,不知道到底是怎么回事。
【问题讨论】:
标签: python parameter-passing pass-by-reference pass-by-value