gpt4 book ai didi

Python 全局变量作用域

转载 作者:太空狗 更新时间:2023-10-30 00:03:25 25 4
gpt4 key购买 nike

我试图在某些函数中声明一些全局变量,并将包含这些函数的文件导入到另一个文件中。但是,我发现在第二个文件中运行函数不会创建全局变量。我尝试创建另一个具有相同名称的变量,但是当我打印出该变量时,它打印出第二个文件的值,而不是全局值

全局变量

def default():
global value
value = 1

主要文件

from globals import *
value = 0
def main():
default()
print value

if __name__=='__main__':
main()

这将打印 0。如果我在 main 中没有 value = 0,程序将出错(未定义值)。

如果我在函数外的 globals.py 中声明 valuemain.py 将采用全局 的值>value,而不是 default()

中设置的值

value 成为 python 中的全局变量的正确方法是什么?

最佳答案

Python 中的全局变量只对它们的模块是全局的。没有您可以修改的名称对整个过程是全局的。

你可以用这个完成你想要的:

全局变量.py:

value = 0
def default():
global value
value = 1

主要.py:

import globals
def main():
globals.default()
print globals.value

if __name__ == "__main__":
main()

不过,我不知道这样的全局是否是解决您问题的最佳方法。

关于Python 全局变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595393/

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