这一章节我们来讨论一下参数的传递
1.参数的传递是通过自动将对象赋值给本地变量名来实现的
>>> x=1 >>> def test(param): print(param) print(id(param)) >>> id(x) 505991632 >>> test(x) 1 505991632 >>> y='abc d' >>> id(y) 31887488 >>> test(y) abc d 31887488 >>>
从上面的代码可以看出,其实就是将1这个对象赋值给param这个对象,从x和y跟param在执行test后的id没有变化证明:x与param,y与param两者都是引用同一个对象
2.在函数内部的参数名的赋值不会影响调用者
>>> def test(param): print(param) print(id(param)) param=3 print(param) print(id(param)) >>> x=1 >>> test(x) 1 505991632 3 505991664 >>> x 1
从代码可以看见,param其实是作为test函数的一个本地变量,它的赋值不会影响到外面的x
3.对于可修改对象,改变param也许会改变调用者
>>> x=[1,2,3] >>> def test(param): print(param) print(id(param)) param[1]=5 print(param) print(id(param)) >>> test(x) [1, 2, 3] 19945192 [1, 5, 3] 19945192 >>>
从上面的代码可以看见,我们改变里面的param,同时也改变了外面的x,所以如果x是可修改对象,那么就必须注意这点
总结:这一章节简单讨论了一下参数的传递,以及传递时需要注意的问题
这一章节就说到这里,谢谢大家
------------------------------------------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。