gpt4 book ai didi

python - 主函数python中的全局变量

转载 作者:太空狗 更新时间:2023-10-29 17:26:39 25 4
gpt4 key购买 nike

我想在 main 中定义一个全局变量,即一个可以被我从 main 函数调用的任何函数使用的变量。

这可能吗?执行此操作的好方法是什么?

谢谢!

最佳答案

你想要的不可能*。您可以只在全局命名空间中创建一个变量:

myglobal = "UGHWTF"

def main():
global myglobal # prevents creation of a local variable called myglobal
myglobal = "yu0 = fail it"
anotherfunc()

def anotherfunc():
print myglobal

不要这样做。

函数的全部意义在于它接受参数。只需将参数添加到您的函数。如果你发现你需要修改很多功能,这表明你应该将它们收集到一个类中。

* 详细说明为什么这是不可能的:python 中的变量没有声明——它们是在执行赋值语句时创建的。这意味着以下代码(派生自 astronaultlevel 发布的代码)将中断:

def setcake(taste):
global cake
cake = taste
def caketaste():
print cake #Output is whatever taste was

caketaste()

Traceback (most recent call last):
File "prog.py", line 7, in <module>
caketaste()
File "prog.py", line 5, in caketaste
print cake #Output is whatever taste was
NameError: global name 'cake' is not defined

发生这种情况是因为在调用 caketaste 时,没有对 cake 进行赋值。它只会在 setcake 被调用后发生。

您可以在此处看到错误:http://ideone.com/HBRN4y

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

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