前两天写了个小脚本,想让函数每次返回新的空列表,结果它给我整成连续剧了哈哈
def add_item(x, lst=[]):
lst.append(x)
return lst
我以为是每次新的[],谁知道它把上次的也留着 连着调几次列表越来越长,像背后有个小本本在记我干过啥( ̄▽ ̄)
查了半天才懂,默认参数在函数定义时就建好一次,不是每次调用新建。要改就写成 lst=None,里面 if lst is None: lst=[]。吧服了
Друг 你们踩过这种没,python这种温柔陷阱真挺会整人的