从模块访问全局变量?

米哈伊尔

让我们从使用全局变量的基本代码开始:

def fun():
    print(gvar)
gvar = 3

fun()

当然会在控制台中显示“ 3”。

然后,将我的函数“ fun”移动到模块“ mymod”中,然后执行以下操作:

from mymod import *
gvar=3
fun()

结果是NameError异常(gvar未找到)

我该如何解决?我不得不提到,我需要访问名称并不总是相同的各种全局变量(上下文很复杂,因此我现在不对其进行描述,以解决我目前遇到的问题)

Wuarmin

python具有的唯一全局变量是模块范围的。因此,根据您的情况,该变量gvar在模块中不可见mymod

如果要gvar在导入的模块中使用请将gvar作为参数传递给函数mymod如果gvar属于mymod,则在此处定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从解析模块访问全局变量?

来自分类Dev

从模块导入全局变量

来自分类Dev

从模块引用全局变量

来自分类Dev

跨模块的全局变量

来自分类Dev

Fortran模块全局变量

来自分类Dev

函数访问全局变量

来自分类Dev

如何访问全局变量

来自分类Dev

Javascript全局模块或全局变量

来自分类Dev

不同模块之间的全局变量

来自分类Dev

来自类模块的全局变量声明

来自分类Dev

Python模块和全局变量

来自分类Dev

TypeScript:从模块创建全局变量

来自分类Dev

在Javascript模块之间共享的全局变量

来自分类Dev

从extern模块执行全局变量

来自分类Dev

不同模块之间的全局变量

来自分类Dev

能否在module.exports中访问模块中的全局变量?

来自分类Dev

在Python中跨模块和静态方法访问全局变量

来自分类Dev

C ++-访问全局变量对象

来自分类Dev

在Swift中访问全局变量

来自分类Dev

通过窗口访问全局变量

来自分类Dev

luabind:无法访问全局变量

来自分类Dev

Javascript:匿名函数,访问全局变量

来自分类Dev

jQuery / AJAX并发访问全局变量

来自分类Dev

如何访问模板中的全局变量?

来自分类Dev

汇编:访问{{parseJSON}}中的全局变量

来自分类Dev

Cython直接访问全局变量

来自分类Dev

Python:导入的函数访问全局变量

来自分类Dev

声明全局变量并在本地访问

来自分类Dev

在本地环境中访问全局变量