• Python 函数参数传递方式


    参数(自变量)在Python里都是按引用传递,也就是传递的是变量地址,(变量就是地址,没有类型,而关联的对象是有类型的)

    但是对于不可变变量,在函数内修改会申请新的内存空间,所以对外层函数没有影响,

    对于list变量,相当于操作同一块内存,则会影响外层函数。

      • 可变对象:list dict set
      • 不可变对象:tuple string int float bool
    1. #!/usr/bin/python  
    2.    
    3. # 可写函数说明  
    4. def changeme( mylist ):  
    5.    "修改传入的列表"  
    6.    mylist.append([1,2,3,4]);  
    7.    print "函数内取值: ", mylist  
    8.    return  
    9.    
    10. # 调用changeme函数  
    11. mylist = [10,20,30];  
    12. changeme( mylist );  
    13. print "函数外取值: ", mylist  

    传入函数的和在末尾添加新内容的对象用的是同一个引用。故输出结果如下:

    1. 函数内取值:  [10, 20, 30, [1, 2, 3, 4]]  
    2. 函数外取值:  [10, 20, 30, [1, 2, 3, 4]]  

    好,看到这里,自己亲手测试一下,代码: 

    1. def printme(age,str):  
    2.     str = 'str changed!'  
    3.    age=25
    4.     print age,str  
    5.     return  
    6.   
    7. str = 'ori str'  
    8. age = 23  
    9. printme(age,str)  
    10. print age,str  

    输出结果:

    1. 25 str changed!  
    2. 23 ori str  
  • 相关阅读:
    jmeter察看结果树中文乱码解决办法
    使用postman测试接口
    使用Jenkins持续集成
    Python单元测试unittest测试框架
    使用类封装一个签名规则
    Python处理URL编码
    Python中的 if __name__ == '__main__' 是什么意思?
    python发送邮件
    instruction 寻址,sib modrm
    .sv 与.svh之间的区别
  • 原文地址:https://www.cnblogs.com/lnas01/p/5977227.html
Copyright © 2020-2023  润新知