建立跨模块变量可访问性
在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