读书人

到底是值传递还是引用传递?该如何处

发布时间: 2012-02-16 21:30:36 作者: rapoo

到底是值传递,还是引用传递?
x=1
L=[]
L.append(x)

def f(x,L=[2]):
x=2*x
L.append(x)
print L,x

f(x)
print "f(x): ",L,x

f(x,L)
print "f(x,L): ",L,x

得到的结果是:
[2, 2] 2
f(x): [1] 1
[1, 2] 2
f(x,L): [1, 2] 1

结果第二行用值传递完全解释得通。
结果第四行用引用传递完全解释得通。

那么问题是:python里到底使用之传递还是引用传递?

又或者是两者都使用,那么在什么情况下使用值传递,在什么情况下使用引用传递?
有没有相关资料?

[解决办法]
引用传递
[解决办法]
似乎一般的类型是值传递
而项列表元组等等是引用传递的
[解决办法]
指针传值。
[解决办法]
传指针值。

读书人网 >perl python

热点推荐