◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
函数参数的默认值差异
在 python 中,列表的 append 方法和 + 操作符在定义函数参数时表现不同。这是因为:
以下代码演示了这一点:
def zxc(a, b=[]): b.append(a) print(b) zxc(1) # [1] zxc(2) # [1, 2] def asd(a, b=[]): b = [a] + b print(b) asd(1) # [1] asd(2) # [2]
输出结果:
立即学习“Python免费学习笔记(深入)”;
[1] [1, 2] [1] [2]
在 zxc 函数中,默认参数 b=[] 会累积此前调用中添加的元素。而在 asd 函数中,每次调用都会创建一个新的 b 列表,不会受到此前调用影响。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。