Python 中列表方法和加号操作符在函数参数传递中的差异是什么?

ID:19808 / 打印

python 中列表方法和加号操作符在函数参数传递中的差异是什么?

列表方法与加号操作符在函数参数传递中的差异

在 python 中,列表方法和加号操作符在函数参数传递中表现出不同的行为。原因如下:

在 zxc() 函数中,向列表 b 追加元素的 append() 方法直接修改了 b 的内容。因此,后续调用函数时, b 的值已发生了变化。

def zxc(a, b=[]):     b.append(a)     print(b)  zxc(1)  # [1] zxc(2)  # [1, 2]

而在 asd() 函数中,将加号操作符 + 与列表 [a] 相加返回了一个新的列表。因此,后续调用函数时,b 的值不会受到影响。

立即学习“Python免费学习笔记(深入)”;

def asd(a, b=[]):     b = [a] + b     print(b)  asd(1)  # [1] asd(2)  # [2]

这是因为 python 中的列表是可变的,而 + 操作符返回的是一个新的对象。因此,只要出现 b = 语句,b 就不再是原来的 b,而是指向了一个新的内存位置。

上一篇: Python 中 map 函数为什么不立即执行?如何解决?
下一篇: YouCompleteMe 安装时遇到 install.py 脚本报错怎么办?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。