gpt4 book ai didi

python - 在 python 中更改全局变量值的问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:57 25 4
gpt4 key购买 nike

假设我有这个功能

>>>a=3
>>>def num(a):
a=5
return a
>>>num(a)
5
>>>a
3

a 的值不变。

现在考虑这段代码:

>>> index = [1]
>>> def change(a):
a.append(2)
return a
>>> change(index)
>>> index
>>> [1,2]

在这段代码中,索引的值发生了变化。有人可以解释一下这两个代码中发生了什么。根据第一个代码,index 的值不应更改(即应保持 index=[1])。

最佳答案

您需要了解 Python 名称的工作原理。有很好的解释here , 你可以 click here为您的案例制作动画。

如果你真的想在你的函数中操作一个单独的列表,你需要创建一个新的,例如使用

a = a[:]

在任何事情之前。请注意,这只会创建一个新列表,但元素仍然相同。

关于python - 在 python 中更改全局变量值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18420071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com