使用一个模块来专门管理全局变量,其他模块再通过导入该模块来间接对全局变量进行操作。

为了避免造成全局变量的赋值混乱,对于每一个全局变量,可以有多个模块读取该全局变量,但尽量只有一个模块用来对其进行赋值操作(根据要实现的代码的具体情况而定),且要注意读和写的顺序关系,也要注意读和读之间的顺序关系,避免出现错误。

示例如下:

#文件名为 c.py,用来管理全局变量

def init_val():global dict_valdict_val = {'a' : None, 'b' : False, 'c' : None}def set_value(key, value):# global dict_valdict_val[key] = valuedef get_value(key):# global dict_valreturn dict_val[key]

#文件名为 b.py,用来对全局变量进行赋值

import cdef set():c.set_value('a', 23)

#主程序 a.py
(注意顺序,先初始化全局变量,再进行写和读的操作。)

import c
import bc.init_val()b.set()a_value = c.get_value('a')
print(a_value)

运行a.py,结果如下。

23
[Finished in 0.5s]

python全局变量 | 跨文件模块使用的一种实现方法相关推荐

  1. common-io-2.0的新功能之文件监控FileAlteration(文件监听的两种实现方法《很全的监听文件例子》)...

    common-io-2.0的新功能之文件监控FileAlteration(文件监听的两种实现方法<很全的监听文件例子>) 转载于:https://www.cnblogs.com/rocky ...

  2. 计算机不能再U盘新建文件夹,U盘无法建立新的文件夹?!三种小方法教你解决...

    原标题:U盘无法建立新的文件夹?!三种小方法教你解决 U盘是现代人常用的移动存储设备之一,特点是小巧易携带,容量大,因此深得用户喜欢.但是这小小的U盘一旦出现故障,就让人有点难以招架了,U盘不比电脑, ...

  3. Python设置跨文件的全局变量

    先说明,此篇只是整理前人的方法 网上一搜索,排名前几的大都是一个方法,大同小异,连出现的问题都一样,让人联想..... 但直接使用时要么有问题,要么写的不适合新手学习 我总结了一下: 1.建立一个名字 ...

  4. Python全局变量跨模块变量定义和使用

    在同一个py脚本中,定义在所有函数之外的变量可以理解为全局变量,因为所有函数可以直接访问函数外的变量(但不能访问其他函数的私有变量),这里涉及到变量的作用域,一般分为函数作用域和全局作用域,函数作用域 ...

  5. 语言全局变量跨文件_C 语言课上不会讲的一些问题

    基础认识:程序在内存中的基本结构 在大多数操作系统中,一个程序加载到内存后会被分配一个虚拟的内存地址,范围从0到一个非常大的不确定值.这个虚拟内存对应的物理内存映射是操作系统管理的,多数情况它在主存( ...

  6. python 文件流转base64_详解Python中使用base64模块来处理base64编码的方法

    base64模块是用来作base64编码解码的.这种编码方式在电子邮件中是很常见的. 它可以把不能作为文本显示的二进制数据编码为可显示的文本信息.编码后的文本大小会增大1/3. 闲话不说了,base6 ...

  7. 怎么用python读取csv文件、并且是读取行-python读取csv文件指定行的2种方法详解...

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,Apple, ...

  8. python读取csv文件的方法-python读取csv文件指定行的2种方法详解

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,Apple, ...

  9. python中判断文件是否存在的三种方式_Python中判断文件是否存在的方法

    Python中判断文件是否存在的方法 发布时间:2020-08-06 11:15:42 来源:亿速云 阅读:58 作者:小新 这篇文章主要介绍Python中判断文件是否存在的方法,文中介绍的非常详细, ...

最新文章

  1. 胶囊网络(Capsule Network)在文本分类中的探索
  2. 约瑟夫环问题(vector模拟过程)
  3. async 和 await 之异步编程的学习
  4. ResNet原理和实现
  5. base——JRE和JDK的区别【转】
  6. SQL Server 2014新特性:其他
  7. Mac桌面上找不到或无法显示USB问题
  8. 约瑟夫环问题 poj 1012 poj 2244
  9. 用C#制作PDF文件全攻略
  10. 实现简单的emoji发送功能
  11. msdn下载的系统怎么安装
  12. 超级鹰平台识别boss验证码
  13. asp.net母版页学习总结
  14. HRESULT: 0x80070057 (E_INVALIDARG) 的处理
  15. 插了T管引流,该注意点啥
  16. 小而美的ToDo 待办事项便签工具,高效管理工作生活一切琐事
  17. MOGRT替换视频,图像,照片及LOGO?如何替换PR动态图形模板中的图片视频素材
  18. 美国商务签证面试经历
  19. 新态势感知系列(1):从态势感知到全方位态势感知
  20. 什么叫html格式化,format是什么意思 格式化自己,只为删除你???

热门文章

  1. 【短视频运营】账号主页搭建 ① ( 昵称 | 昵称原则 | 昵称公式 | 昵称禁忌 | 个人简介 | 个人简介公式 )
  2. 开机黑屏显示html,电脑开机黑屏怎么办,教您电脑开机黑屏的解决方法
  3. java诊断工具-Arthas(阿尔赛斯)入门
  4. 如何同时操作三台服务器
  5. 过敏性鼻炎之减敏疗法
  6. 《大话设计模式》java实现之责任链模式
  7. Halcon图像处理软件下载
  8. 利用循环链表实现拉丁方阵问题
  9. c4dR19材质编辑器语言中文,C4D R19小白成长记(入门篇) 零基础学习Cinema 4d R19中文教程...
  10. rs.open sql,conn,1,3中的1,3是什么意思