因为默认参数在函数定义时只被计算一次,所以应该改成元组,避免axes被函数内部改变。 当默认参数是可变对象(比如列表或字典)时,如果在函数中修改了这个对象,那么这个修改会在函数的后续调用中被保留。
例子:
def test_add(li=[1, 2, 3]):
li.append(0)
print(li)
test_add()
test_add()
test_add()
输出
[1, 2, 3, 0]
[1, 2, 3, 0, 0]
[1, 2, 3, 0, 0, 0]