Python-参数传递机制
2017-04-29 23:36
162 查看
第一句:人生苦短,我用Python
第二句:PHP是世界上最好的语言,我爱Python
好了,回归正题Python中 万物皆对象,这点很重要
对象有可变与不可变之分,这似乎与参数传递没关系啊,别着急
请看下面的例子:
>>> a="123" >>> b=[1,2,3] >>> def f(v1,v2): ... print(id(v1)) ... print(id(v2)) ... v2[:]=[] ... v1=0 ... >>> id(a) 4330670040 >>> id(b) 4330637384 >>> f(a,b) 4330670040 4330637384 >>> id(a) 4330670040 >>> id(b) 4330637384 >>> a '123' >>> b [] >>>
上述例子告诉我们,函数参数是按照引用传递的,按照引用传递的,按照引用传递的!!
对于不可变对象,若在函数内部不改变参数值,访问的是外部参数对象,可变对象也是这样,不同点在于,函数内部对不可变参数的修改,不会产生新的对象,而不可变参数的引用参数被修改后则指向新的对象!原来对象不会改变。
相关文章推荐
- Python 函数参数传递机制.
- python中的*和**参数传递机制
- python的参数传递机制
- Python语言中函数的参数传递机制
- python的函数参数传递
- C/C++中的函数参数传递机制(zz)
- 深入剖析C/C++函数的参数传递机制 (转-有修正)作者:leeyeafu(明经CAD社区 编程申请版块 版主)
- 深入剖析C/C++函数的参数传递机制
- 用"堆栈区数据复制"理解Java赋值和参数传递机制的心得
- 理解Java赋值和参数传递机制.docx
- 关于C语言中函数调用和参数传递机制的探讨
- Java 参数传递机制
- 用"堆栈区数据复制"理解Java赋值和参数传递?机制的心得
- 关于C语言中函数调用和参数传递机制的探讨
- C/C++中的函数参数传递机制(转载)
- C/C++中的函数参数传递机制
- python中的函数参数传递
- Python的函数参数传递:传值?引用?
- C/C++中的函数参数传递机制 作者:杨宁 发布时间:2000/11/30
- C/C++中的函数参数传递机制