def func 这种写法有什什么坑?

def func 这种写法有什什么坑?,第1张

def func 这种写法有什什么坑?
def func(a,b = []):    b.append(1)    print(a,b)func(a=2)func(2)func(2)'''    2 [1]    2 [1, 1]    2 [1, 1, 1]    函数的默认参数是一个list 当第一次执行的时候实例化了一个list     第二次执行还是用第一次执行的时候实例化的地址存储     所以三次执行的结果就是 [1, 1, 1] 想每次执行只输出[1] ,默认参数应该设置为None'''

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4875885.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-11
下一篇2022-11-11

发表评论

登录后才能评论

评论列表(0条)

    保存