当我使用空列表作为函数的关键字参数的默认值时

时间:2019-07-04 03:51:03

标签: python-3.x

当我使用x = 0或x =''默认参数时,当我再次调用该函数时,它们将被重置,但是在x = []的情况下,它不会在下一次调用时重置,但会保留先前的列表内容

>>> def myFunc1(x=[]):
...     x+=[3]
...     return x
... 
>>> myFunc1()
[3]
>>> myFunc1()
[3, 3]

同时

>>> def myFunc2(x=''):
...     x+='*'
...     return x
... 
>>> myFunc2()
'*'
>>> myFunc2()
'*'
  

当我调用func1()时,为什么参数x不会重置为x = []

0 个答案:

没有答案