python 不要使用可变类型作为默认参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 不要使用可变类型作为默认参数相关的知识,希望对你有一定的参考价值。

# coding=UTF-8

def append(newitem, l = []):
    l.append(newitem)
    print(l)

print(append.func_defaults) # []
append(10)
print(append.func_defaults) # [10]
append(20)
print(append.func_defaults) # [10, 20]

以上是关于python 不要使用可变类型作为默认参数的主要内容,如果未能解决你的问题,请参考以下文章

Python 可变类型作为函数默认参数时的副作用

python的形参为可变数据类型的坑

Python坑:不要使用可变对象作为函数默认值生成器不保留迭代过后的结果嵌套列表创建==和is的区

python函数使用参数技巧笔记

[Python]可变类型,默认参数与学弟的困惑

Python入门-5函数:06参数类型-位置参数-默认值参数-命名参数-可变参数-强制命名参数