首页 > 编程语言 >[转载]python跨文件使用全局变量的实现

[转载]python跨文件使用全局变量的实现

时间:2022-10-25 14:56:37浏览次数:76  
标签:全局变量 python global module file print import 转载

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 本文地址:http://www.kaotop.com/it/16397.html

标签:全局变量,python,global,module,file,print,import,转载
From: https://www.cnblogs.com/workingdiary/p/16824815.html

相关文章

  • python实现证件照排版功能-附代码
    环境要求安装python3环境安装pillow图片处理库开发前准备推荐使用conda创建python环境condacreate-nprpython=3.8#创建环境condaactivatepr#进入环境......
  • Python日志收集
    """1、设置日志的收集级别2、可以将日志输出到文件和控制台3、以下这些方法:info()debug()error()warning()critical()额外拓展:单例模式""......
  • 【Python数据分析】数据的维度、Numpy
    数据的维度一维数据一维数据由对等关系的有序或无序数据构成,采用线性方式组织列表和数组二维数据是由多个一维数据组成,是一维数据的组合形式多维数据由一维或二维数......
  • 安装python的Django时,无法在PyCharm下的terminal进入虚拟环境的问题
    今日将网上他人django源码拉取下来,准备好用anconda工具来新建一个虚拟环境。等环境搭建好之后,打开pycharm发现在terminal中使用无法进入到虚拟环境中。在网上搜索了一番,终......
  • 一、python入门
    一.认识Python1、python的应用范围2、python排名(up)二.什么是编程语言1、编程语言如何工作用于人类和计算机进行交流的-种语言,通过编写编程语言的代码,去指挥计算机工......
  • python基础面试总结
    1闭包定义:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a,内层函数依旧传入一个参数b,内层函数使用a和......
  • Python之格式化输出
    1.格式化字符串 %s,还可以写成  f'{表达式}'     f-格式化字符串是Python3.6中新增的格式化⽅法,该方法更简单易读。 2.转义字符\n:换⾏符。\t:制表符,一个tab......
  • Python报错-UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position 35
    问题描述:读文件报错  【代码】:withopen("D:\Code\Python\data.txt")asfile_object:contents=file_object.read()print(contents)【报错提示】:Trace......
  • pycharm中使用pip报错:You should consider upgrading via the 'python -m pip install
    问题:在pycharm中使用pip命令安装时出现以下报错:解决办法:1.在python安装路径下找到site-packages文件夹下的类似pip-21.1.3.dist-info文件夹,将整个文件夹删掉 2.再在p......
  • Python 类
    1.一个简单的类__init__()是一个特殊的方法,每当根据Dog类创建新的实例时,Python都会自动运行它。形参self是必不可少的,且不用手动为它传递实参。self为前缀的变量可以供类......