”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在Python中建立跨模块变量可访问性:共享变量而不共享实例?

如何在Python中建立跨模块变量可访问性:共享变量而不共享实例?

发布于2024-11-08
浏览:211

How to Establish Cross-Module Variable Accessibility in Python: Sharing Variables Without Sharing Instances?

建立跨模块变量可访问性

在Python中,一个方便的跨模块变量是__debug__。然而,创建具有类似功能的自定义变量可能看起来具有挑战性。本文深入研究这个主题,探索一种跨模块定义共享变量同时保持其不变性的方法。

解决方案:利用全局模块级变量

建立如果跨模块变量不共享公共变量实例,请考虑使用全局模块级变量。这些变量在模块内定义和分配,并且可供导入它的其他模块访问。通过在导入依赖模块之前分配变量,可以在整个项目中建立一致的值。

下面提供了一个示例:

a.py:

var = 1

b.py:

import a
print(a.var)
import c
print(a.var)

c.py:

import a
a.var = 2

测试:

$ python b.py
# Output
1
2

在此示例中,变量 var 在模块 a.py 中定义,并在导入后可由模块 b.py 访问。即使模块 c.py 更改了 var 的值,模块 b.py 仍保留其原始值。

真实世界应用程序

Django 提供了一个实际用例共享模块级变量。它的 global_settings.py 模块作为一个示例,其中设置作为模块属性而不是单个共享对象公开。

通过采用这种技术,可以实现跨模块变量共享,同时保持变量完整性并简化模块代码组织。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3