gpt4 book ai didi

python - 在用户定义的函数中访问全局框架

转载 作者:行者123 更新时间:2023-11-28 21:22:33 25 4
gpt4 key购买 nike

a = 4
def foo(x):
a = 10
foo(2)
print(a)
#prints 4

上面的代码没有改变a

a = 4
def foo(x):
return a + x
result = foo(10)
print(result)
#prints out 14

我不太明白这两者的行为有何不同。第二个,全局变量明显影响了foo中的局部变量。但是,如果我在 foo 中的第一个中更改 a,则全局框架中的 a 不会发生任何变化。发生了什么事?

最佳答案

如果你想在函数内改变一个全局变量,你应该使用global关键字:

a = 4
def foo(x):
global a
a = 10
foo(2)
print(a) # prints 10

另见:

关于python - 在用户定义的函数中访问全局框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882955/

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