美文网首页
python-函数的默认参数

python-函数的默认参数

作者: 智齿_93fa | 来源:发表于2020-03-24 23:29 被阅读0次

如果函数的默认参数为列表:

def power(l = []):
    l.append(end)

power() //输出[end]
power() //输出[end, end]

调用了两次power(), 为什么第二次输出[end, end]?
因为列表里存放的是指向变量的指针,调用函数结束后,指针并没有释放,所以列表中还存放着指向end的指针,再次调用power(), 列表中再次插入新指针,所以出现两个end元素。

注意:函数的默认参数最好不要设定为列表、字典等可变类型,易引起上面错误。建议函数默认参数设定为数字、字符串、元组不可变类型。

相关文章

  • python-函数的默认参数

    如果函数的默认参数为列表: 调用了两次power(), 为什么第二次输出[end, end]?因为列表里存放的是指...

  • ES6 函数默认参数、rest运算符(扩展运算符)剩余参数

    一.函数默认参数 1.旧函数默认参数写法 2.新函数默认参数写法 二.函数参数默认已经定义了,不能再使用let,c...

  • 构造函数 析构函数 拷贝赋值(GeekBand)

    1、默认构造函数 默认构造函数是没有参数的函数。另外,默认构造函数也可以在参数列表中以参数默认值的方式声明。默认构...

  • 1.0 C++远征:函数参数默认值、函数重载、内联函数

    C++远征 [TOC] 一、函数参数默认值 1.函数参数默认值的声明 2.函数参数默认值的定义 3.函数参数默认值...

  • Python 函数

    调用函数 定义函数 函数的参数必选参数、默认参数、可变参数、关键字参数、命名关键字参数 位置参数 默认参数 可变参...

  • 函数提高

    函数的默认参数 如果声明中有默认函数,那实现中就不能有默认参数 函数的占位参数 函数重载 函数名相同,提高复用性 ...

  • C++函数参数默认值

    函数参数默认值功能是指,当调用函数省略了实参时,函数将使用默认的参数值。 函数参数默认值有两个规定: 参数默认值需...

  • ES6-函数参数的赋值

    函数参数的解构赋值: 函数参数解构赋值的默认值: 函数参数解构赋值的默认值undefined:

  • ES6--函数扩展

    函数新增特性 函数默认值,rest参数,扩展运算符,箭头函数,this绑定,尾调用 函数参数的默认值 rest参数...

  • Scala入门与进阶(三)- 函数

    1.函数的定义和使用 函数/方法的定义: 2.默认参数 默认参数:在函数定义时,允许指定参数的默认值$SPARK_...

网友评论

      本文标题:python-函数的默认参数

      本文链接:https://www.haomeiwen.com/subject/hhjzyhtx.html