美文网首页
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-函数的默认参数

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