在python中,为什么我不能在print函数中使用extend函数?

In python, why can't I use the extend function inside the print function?

如果我这样写代码,

friends = ["Kafi", "Saif", "Shaheer", "Azmain", "Labid", "Faiz", "Azmain"]

lucky_numbers = [114, 151, 172, 7, 1, 63, 14, 543]

friends.extend(lucky_numbers)

print(friends)

然后我的代码运行完美。但是如果我像这样在打印函数中使用扩展函数,

friends = ["Kafi", "Saif", "Shaheer", "Azmain", "Labid", "Faiz", "Azmain"]

lucky_numbers = [114, 151, 172, 7, 1, 63, 14, 543]

print(friends.extend(lucky_numbers))

然后我得到 "None" 作为输出。为什么我不能在打印函数中使用扩展函数?

extend 是 returns 没有的就地函数。 从一个没有返回任何东西的函数打印输出会给你 None 如果您不想更改 friends 则复制一份

newfriends = friends.copy()
newfriends.extend(lucky_numbers)
print(newfriends)

您的打印语句打印 friends.extend(lucky_numbers) 的 return,即 None。 来自文档:

array.extend(可迭代) - 将 iterable 中的项目附加到数组的末尾。

所以 extend() 改变了调用它的数组,但它没有 return 任何东西,因此没有什么可打印的。