• Python Parameter Passing Note


      我刚刚开始学习Python, Python中的参数传递总是让我很困惑。我写了4个简单的Demo,帮助我理解Python的参数传递,希望对大家都能有所帮助。

    0:

    def change(x):
        x = 1
    a = 10
    print('a is {0}'.format(a)) change(a) print('a is {0}'.format(a))

    Output:
    a is 10
    a is 10

    1:

    def change1(x):
        x = [1, 2]
        
    a = [10, 20]
    print('a is {0}'.format(a)) change1(a) print('a is {0}'.format(a))

    Output:
    a is [10, 20]
    a is [10, 20]

    2: [NOTE]We should pay more attention to this demo.

    def change2(x):
        x[:] = [1, 2, 4]
    
    a = [10, 20]
    print('a is {0}'.format(a)) change2(a) print('a is {0}'.format(a))

    Output:
    a is [10, 20]
    a is [1, 2, 4]

    3:

    def change3(x):
        x[0] = [1, 2, 4]
    
    a = [10, 20]
    print('a is {0}'.format(a)) change3(a) print('a is {0}'.format(a))

    Output:
    a is [10 20]
    a is [[1, 2, 4], 20]]

      对于参数传递,我总是用传值或者传址来理解,但在《Python基础教程》中建议我们用这样的方法来理解Python中的参数传递:(以Demo1为例说明)

    1.#demo1 again:
    2.def change1(x):
    3.    x = [1, 2]
    4.   
    5.a = [10, 20]
    6.print('a is {0}'.format(a)) 7.change1(a) 8.print('a is {0}'.format(a)) #We can think it in the following way: #5行: a = [10, 20]
    #7行:NOTE,用下面代码来理解参数传递 x = a
    #3行: x = [1, 2]

      通过这样方法来理解参数传递,省去了我们的很多的考虑,个人感觉这种方法还是很不错的,不知道各位大神们是怎么理解Python中的参数传递的?

  • 相关阅读:
    系统生命周期
    系统分析师教程——目录
    企业信息系统——SCM
    企业信息系统——CRM
    .NET 解决方案 核心库整理
    .NET 人工智能相关资料整理
    Task
    正则表达式摘录
    记一次IOS对 JS的支持问题
    JavaScript回顾一下js的基础知识,以及学习一下在项目中了解到的新知识
  • 原文地址:https://www.cnblogs.com/lxw0109/p/python_parameter_passing.html
Copyright © 2020-2023  润新知