【 在 lilnelse (不折腾) 的大作中提到: 】
: 标 题: 请教个传参数的问题
: 发信站: 水木社区 (Thu Dec 31 22:30:08 2020), 站内
:
: 在一本书上看到一个例子
: def fun(lst=[]):
~~ 因为 py 的规定是入参默认值在定义时就确定了,所以所有的fun的默认值都指向了内存中的同一个[]
如果想要避免,可以这样:
def fun(lst = None):
if lst is None:
lst = []
lst.append....
: lst.append('a')
: print(lst)
:
: fun()
: fun()
: fun()
:
: 输出居然不一样 每次都多了一个a 这是为啥?
: --
:
: ※ 来源:·水木社区
http://m.newsmth.net·[FROM: 114.248.232.20]
--
FROM 223.72.57.*