zoukankan      html  css  js  c++  java
  • python的参数传递

    1.传参方式: 直接赋值,变量指向同一个对象

    python中,是先有值,然后再将变量以标签的形式贴在上面,python中没有值传递或者是变量引用的概念,pytohn传参是共享变量;

     

    例如:

    def clear_list(l):

    l = [] # 使l = ll,函数中,创建了一个新的对象,并将l贴上去(注意函数里面的l和外面的l使形参和实参的区别,不要以为是同一个),所以原来的 l 并没有改变

     

    l = [1, 2, 3]

    clear_list(l)

    print(l) ---》 [1,2,3]

     

    a= 1 # 创建了一个 value 为1的对象,并将a标签指向1

    a=b # 将b标签也指向1

    2. 可变参数:在运算中会修改对象的值

    3. 不可变参数:在运算中会创建一个新的对象

     

    例如:

    def list1(l):

    l.append(0)

    print(l)

    ll = []

    list1(ll) # 第一次调用 l=ll,函数修改了ll对应的对象的值,第二次调用,l=ll,在第一次修改的基础上进行第二次修改(因为list属于可变参数)

    list1(ll)

     

    def str1(s):

    s += "a"

    print(s)

    ss = "hehe"

    str1(ss) #第一次调用,s=ss,函数无法修改字符串的值(字符串不可修改,字符串是不可变参数),只新建了一个对象

    str1(ss) # 第二次调用,s=ss依旧,函数在原有的ss上面进行修改,又创建了一个对象

     

    result:

    [0]

    [0, 0]

    hehea

    hehea

     

     

  • 相关阅读:
    python中的继承和多态
    python中的深浅copy
    面向对象初识
    常用模块,异常处理
    递归,re,time,random
    内置函数,匿名函数
    生成器和迭代器
    记一次nginx由于文件过大的相关问题
    vue的Element+gin实现文件上传
    Vue问题汇总
  • 原文地址:https://www.cnblogs.com/wenshu/p/12257982.html
Copyright © 2011-2022 走看看