首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python包中使用全局变量

如何在python包中使用全局变量
EN

Stack Overflow用户
提问于 2018-02-19 16:10:18
回答 1查看 767关注 0票数 0

我有几个python函数,我正试图将它们创建成一个包。每个函数都存在于自己的python文件中,并使用全局变量将一些对象返回到全局环境,其中一些对象被其他python函数使用。

当这些函数是在python控制台中定义的独立函数时,它们工作得很好,但是当我将它们放在python包中时,全局变量不再作为全局变量返回。

为什么用包文件定义的函数不返回全局变量/如何绕过这一点?

一个非常简单的例子:

python_function1.py

代码语言:javascript
运行
复制
def function1(x):
    global new_table
    new_table = x

python_function2.py

代码语言:javascript
运行
复制
def function2(new_table):
    global new_table2
    new_table2 = new_table
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-19 16:30:54

根据文件规定:

在单个程序中跨模块共享信息的标准方法是创建一个特殊模块(通常称为或cfg)。只要在应用程序的所有模块中导入配置模块,该模块就可以作为全局名称使用。因为每个模块只有一个实例,所以对模块对象所做的任何更改都会在任何地方得到反映。

您可以检查这些文档,例如代码:

https://docs.python.org/3/faq/programming.html#how-do-i-share-global-variables-across-modules

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48869966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档