PHP前端开发

Python 函数参数默认值:append 方法和 + 操作符的差异在哪里?

百变鹏仔 4天前 #Python
文章标签 函数

函数参数的默认值差异

在 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 列表,不会受到此前调用影响。