python参数传递是值传递还是引用传递呢?
- >>> def plus(n):
-
... return n+1
-
...
-
>>> x=1
-
>>> x=plus(x)
-
>>> print x
-
2
-
>>> def changer(x,y):
-
... x=2
-
... y[0]='span'
-
...
-
>>> x=1
-
>>> L=[1,2]
-
>>> changer(x,L)
-
>>> x,L
-
(1, ['span', 2])
初步结论,可变的传递是引用传递,不可变传递是值传递.
可变的也就是列表,元组,字典了.
在Django web开发上面说了.简单类型或"标量"(scalar)类型,包括整数和其他数字等类型,str和unicode这样的字符串类型.以及元组都是不可变的.剩下的如列表,字典,类,类实例都是可变的.
阅读(1001) | 评论(0) | 转发(0) |