python跨文件使用全局变量的实现

更新时间:2022-10-25 14:46:38发布时间:602天前

朗读

Python 定义了全局变量的特性,使用global 关键字修饰

1
global key_word

但是他的一大缺陷就是只能本module 中也就是本文件中使用,跳出这个module就不行。

try 1:
使用一个更宏观的思路,全局变量就用全局加载的模块解决,很遗憾也是不行,

file_1:

1
2
global a
= "test"

file 2:

1
2
import file_1
print(a)

报错a没有定义
try 2:
file_1:

1
2
global a
= "test"

file 2:

1
2
3
4
import file_1
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)

这样可以,但是如果再有一个module 想用呢?
try 2:
file_1:

1
2
global a
= "test"

file 2:

1
2
3
4
import file_1
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)

file 2:

1
2
3
4
5
import file_1
import file_2
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)

这样就会报错,因为import 加载就会执行一遍子module ,两个module y引用关系死锁了。

try 3:
 最终使用公共数据结构方式解决

file_1:

1
2
3
4
5
6
7
def init():
 global a
 = {}
def set(arg,value):
 a[arg] = value
def get(arg)
 return a[arg]

file 2:

1
2
3
import file_1
print(file_1.a)
file_1.set("test",(test_value))

file 2:

1
2
3
4
5
import file_1
import file_2
file_1.init()
 
print(file_1.get("test"))

思路就是使用一个公共的字典的数据结构,在主module 中初始化,其他module都应用此module,但是不重新初始化字典。

到此这篇关于python跨文件使用全局变量的实现的文章就介绍到这了,更多相关python跨文件全局变量内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

 
转载请注明:文章转载自 www.kaotop.com

最新文章

  1. [转载]:STM32为什么必须先配置时钟再配置GPIO
  2. JS操作DOM
  3. PHP Mongodb 基本操作
  4. iOS 后台退出app时不执行applicationWillTerminate的临时解决方法
  5. kindle paperwhite2 root 密码修改方法
  6. 利用SpringMVC参数绑定实现动态插入数据
  7. java排序算法-选择排序
  8. 打破了中国电信华为无线路由猫(HG522-C)自己主动拨号+任意数量的计算机+iTV
  9. JAVA线程间的状态转换
  10. 基于Redis的分布式锁的简单实现
  11. 什么是mybatis?
  12. Linux(Ubuntu)使用日记------Mysql编码(utf-8)的设置
  13. 删除已渲染select标签的值
  14. luogu3261 懒惰左偏树 [JLOI2015]城池攻占
  15. 【原创】python __all__ 的用法
  16. P4101 [HEOI2014]人人尽说江南好
  17. 学习C++服务端一:MySql与C++
  18. Spring MVC的困惑url-pattern /和/*的区别
  19. pomelo vscode 调试配置
  20. .net中的lock

热门文章

  1. f-strings: Python字符串处理的瑞士军刀
  2. 【机器学习】李宏毅——Transformer
  3. 深入解读MySQL InnoDB存储引擎Update语句执行过程
  4. 【JVM】根节点枚举与安全点
  5. JavaScript:操作符:操作符的特点
  6. HBase详解(01) - Hbase简介
  7. 时钟同步服务器ntp安装文档
  8. Windows 平台计算 CPU 总利用率
  9. idea的简单介绍
  10. Spring MVC学习(一) Spring MVC基本介绍以及配置