在 Python 中跨多个文件使用全局变量
这个简单的指南是关于在 Python 中跨多个文件使用全局变量的。 但在进入主题之前,我们先简要了解一下全局变量及其在多个文件中的使用。
Python 中的全局变量
全局变量是不属于函数作用域的变量,可以在整个程序中全局使用。 这表明全局变量也可以在函数体内部或外部使用。
让我们看一个例子:
x = "my global var"
def fun1():
print("Inside fun1(): ",x)
fun1()
print("In global context: ",x)
我们在这段代码中定义了一个全局变量 x 并为其分配了一些值。 然后,我们在函数内部和外部打印 x 变量以查看两个作用域中的值。
输出:
输出表明变量的值在函数内部和外部是相同的。 如果我们需要在某些局部范围内(例如在函数中)更改全局变量的值,那么我们在声明变量时需要使用关键字 global 。
在 Python 中跨多个文件使用全局变量
如果我们的程序使用多个文件并且这些文件需要更新变量,那么我们应该使用全局关键字声明变量,如下所示:
global x = "My global var"
考虑一个示例场景,我们必须处理多个 Python 代码文件和学生列表的全局变量。 resources.py 文件有一个学生的全局列表,prog.py 有一个方法将学生追加到这个全局列表中。
我们可以使用以下代码来实现这个概念:
代码-resource.py:
def initialize():
global students
students = []
代码- prog.py:
import resource
def addStudent():
resource.students.append('John')
resource.students.append('Dave')
代码- Main.py:
import resource
import prog
resource.initialize()
prog.addStudent()
print(resource.students[0])
print(resource.students[1])
在第一个resource.py文件中,我们定义了一个函数,在其中声明一个列表studentList并将其初始化为一个空列表。 在下一个文件(即 prog.py)中,我们包含了资源模块,然后定义了一个函数 addStudent,其中我们在全局列表 StudentList 中添加了两个对象。
在主文件 Main.py 中,我们包含了模块、资源和 prog。 随后,我们分别调用了两个模块的函数initialize和addStudent。
之后,当我们打印列表索引时,我们得到以下输出:
因此,我们可以使用 global 关键字在 Python 文件中定义全局变量,以便在其他文件中使用。 现在,要访问另一个文件中一个文件的全局变量,请将具有全局变量的文件作为另一个文件中的模块导入,然后直接访问导入模块的任何全局变量,而无需额外的复杂性。
相关文章
基于 Python 中的值对计数器进行排序
发布时间:2023/06/26 浏览次数:165 分类:Python
-
本篇文章介绍如何使用 Python 根据计数器的值对计数器进行排序。Python 计数器概述 计数器是 Python 中集合模块的一部分,可帮助计算特定字符出现的总数。
在Python中发送UDP数据包
发布时间:2023/06/26 浏览次数:92 分类:Python
-
今天,我们将学习用户数据报协议(UDP),并了解如何使用 Python 编程发送 UDP 数据包。在Python中发送UDP数据包
Python 自定义迭代器
发布时间:2023/06/26 浏览次数:119 分类:Python
-
在本文中,我们将了解什么是迭代器以及如何借助 __iter__ 和 __next__ 类方法创建自定义迭代器。 我们还将学习如何在 Python 生成器的帮助下创建自定义迭代器。借助 Python 中的类方法 __iter__ 和
Python 高斯核
发布时间:2023/06/26 浏览次数:161 分类:Python
-
高斯核是一种高通滤波器,是图像处理中最常用的滤波器之一。 它也用于机器学习。 本博客将介绍该内核以及如何使用它。
Python 脚本中的 FFmpeg
发布时间:2023/06/26 浏览次数:167 分类:Python
-
本篇文章将介绍在Python中使用FFMPEG命令。安装 FFmpeg Python 包 首先,您必须在系统上安装 FFmpeg。 以管理员身份打开命令提示符并运行以下命令以使用 choco 安装 FFmpeg。
Python 中的 DNS 查找
发布时间:2023/06/25 浏览次数:118 分类:Python
-
本文将讨论 DNS 和 DNS 查找的概念。 之后,我们讨论使用 Python 进行 DNS 查找的方法。什么是 DNS DNS(域名系统)将域名转换为公共IP地址。
了解 Python 中的槽
发布时间:2023/06/25 浏览次数:167 分类:Python
-
本文将讨论槽常量变量在 Python 中的工作原理以及它如何比使用字典更好。了解 Python 中的槽
在 Python 中设置 HTTP 代理设置
发布时间:2023/06/25 浏览次数:141 分类:Python
-
在本文中,我们将讨论如何在我们的计算机和Python中设置HTTP代理设置。使用export命令在Python中设置HTTP代理设置
Pipenv 指定Python版本
发布时间:2023/06/25 浏览次数:88 分类:Python
-
本文讨论了使用 Pipenv 创建具有特定 Python 版本的虚拟环境的几种方法。 我们将列出先决条件并解释如何使用 pipelinev 所需的命令在虚拟环境中安装特定版本的 Python。