默认参数的陷阱

Posted aj-aj

tags:

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

# 例一
def qqxing(l = []):
    l.append(1)
    # l[k] = ‘v‘
    print(l)

qqxing()     #[1]
qqxing()     #[1,1]
qqxing()     #[1,1,1]

# 例二
def qqxing(k,l = {}):
    l[k] = v
    print(l)

qqxing(1)    #{1: ‘v‘}
qqxing(2)    #{1: ‘v‘, 2: ‘v‘}
qqxing(3)    #{1: ‘v‘, 2: ‘v‘, 3: ‘v‘}
# 如果默认参数的值是一个可变数据类型,
# 那么每一次调用函数的时候,
# 如果不传值就共用这个数据类型的资源

 

以上是关于默认参数的陷阱的主要内容,如果未能解决你的问题,请参考以下文章

易错点 默认参数陷阱

Python(55)_默认参数的陷阱

Python中list作为默认参数的陷阱

python默认参数陷阱

默认参数的陷阱

函数初识(缺默认函数的陷阱)