Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python包中使用全局变量_Python_Global Variables_Packages - Fatal编程技术网

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

如何在python包中使用全局变量,python,global-variables,packages,Python,Global Variables,Packages,我有几个python函数,我正试图将它们创建到一个包中。每个函数都存在于自己的python文件中,并使用全局变量将一些对象返回到全局环境,其中一些对象被其他python函数使用 当这些函数是在python控制台中定义的独立函数时,它们工作得很好,但是当我将它们放在一个python包中时,全局变量不再作为全局变量返回 为什么用包文件定义的函数不返回全局变量/我如何绕过它 一个非常简单的例子: python_function1.py def function1(x): global new_

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

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

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

一个非常简单的例子:

python_function1.py

def function1(x):
    global new_table
    new_table = x
python_function2.py

def function2(new_table):
    global new_table2
    new_table2 = new_table

根据文件规定:

在单个模块中跨模块共享信息的规范方式 程序将创建一个特殊模块(通常称为config或cfg)。 只需导入应用程序所有模块中的配置模块; 然后,该模块将成为可用的全局名称。 因为每个模块只有一个实例,所以对 模块对象到处反射

您可以查看此文档以获取示例代码:


根据文件规定:

在单个模块中跨模块共享信息的规范方式 程序将创建一个特殊模块(通常称为config或cfg)。 只需导入应用程序所有模块中的配置模块; 然后,该模块将成为可用的全局名称。 因为每个模块只有一个实例,所以对 模块对象到处反射

您可以查看此文档以获取示例代码:


也许您可以用示例代码更新您的问题,展示一个多函数使用全局变量的简单案例。您可以查看此问题。您是否有这样的印象:当函数像
def func():x=3;return x
被调用,它将创建一个名为
x
的全局变量。请发布一个。很难说为什么你的代码不能够正常工作,因为Python没有这种意义上的“全局”变量。无论如何,没有理由使用它们。也许你可以用示例代码更新你的问题,展示一个多个函数使用全局变量的简单例子。你可以看看这个问题。您是否有这样的印象:当函数像
def func():x=3;return x
被调用,它将创建一个名为
x
的全局变量。请发布一个。很难说为什么你的代码不能够正常工作,因为Python没有这种意义上的“全局”变量。无论如何,没有理由使用它们。要添加Python中的“全局”变量,对于模块来说是全局的。当任何Python代码执行时,它都会在全局变量的某个名称空间内执行,也就是说,在几乎所有情况下,运行该代码的模块(在解释器提示中,这是一个名为
\uuuuuuu main\uuuuu
的特殊模块)都是全局的。当任何Python代码执行时,它都会在全局变量的某个名称空间内执行,也就是说,在几乎所有情况下,都是运行该代码的模块(在解释器提示中,这是一个名为
\uuuuuuu main\uuu
的特殊模块)。