• 零基础学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-目录


     

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

  • 相关阅读:
    图匹配板子
    线性基
    Berlekamp-Massey algorithm
    组合/概率/形式幂级数/多项式/集合幂级数的题
    费用流 Dijkstra 原始对偶方法(primal-dual method)
    UVA-12304
    二项式系数
    卡特兰数
    多项式模板
    工具
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896734.html
Copyright © 2020-2023  润新知