zoukankan      html  css  js  c++  java
  • python3函数的可变参数与不可变参数

    Python3 的六个标准数据类型中:

    • 不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);
    • 可变数据(两个):List(列表)、Dictionary(字典)。

    不可变数据减少了重复数据的内存消耗,但同时重新赋值时,需要重新开辟内存空间。

    a = 10

    b = 20

    def switch(num1,num2):

           print('before num1:%s num2:%s'%(num1,num2))

      num1,num2 = num2,num1

      print('before num1:%s num2:%s'%(num1,num2))

    switch(a,b)

    调用switch函数后,a和b的值并没有发生改变,函数改变的只是内部局部变量的地址,如图:

    a = 30

    当对a重新赋值时,python会先创建值对象30,然后将a的地址指向30,值对象10可能变成垃圾被回收,如图:

    a = [90]

    def add(v_list):

      v_list.append(100)

    列表a调用函数add后,添加了100,此时a已经改变,因为a是可变参数,如图:

  • 相关阅读:
    Bean生命周期
    Bean的作用域
    神经网络训练中,傻傻分不清Epoch、Batch Size和迭代
    jQuery中选择器有哪几种
    数据库的事务机制
    多线程面试题
    HTTP请求报文和HTTP响应报文
    linux tomcat单机部署多应用
    flexbox预习
    作业
  • 原文地址:https://www.cnblogs.com/render-inside/p/8962759.html
Copyright © 2011-2022 走看看