如何在模块中声明全局变量



在主程序中我有

import medallia_utils
from collections import defaultdict
Opers   = defaultdict(int)

稍后,在此程序中,我将在Medallia_utils中调用称为Word_checker的函数。

我想在Medallia_utils内定义的函数word_checker中操纵字典变量操作,所以我想将其声明为全局。

当我在Medallia_utils内部执行此操作时:

def word_checker(name, comment):
    import re 
    from collections import defaultdict
    global Opers

系统说

NameError: global name 'Opers' is not defined

我还尝试通过执行

在功能word_checker之外的medallia_utils中在全球范围内定义此变量
global Opers

global __Opers__

,但到目前为止什么都没有。我遇到相同的错误。

如何使此操作的语法修复是什么?

没有可以使此工作的"语法修复"。如果要使用另一个模块中定义的变量,则需要导入它。

在将其声明为全局之后,您需要使变量保持某些内容。

global name 
name = 'bob'

相关内容

  • 没有找到相关文章