零基础学python-17.1 参数的传递快速入门

这一章节我们来讨论一下参数的传递

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是可修改对象,那么就必须注意这点

总结:这一章节简单讨论了一下参数的传递,以及传递时需要注意的问题

这一章节就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录


 

版权声明:本文为博主原创文章,未经博主允许不得转载。