python跨文件使用全局变量的实现
作者:fly 100% 发布时间:2023-11-27 00:16:40
标签:python,跨文件,全局变量
Python 定义了全局变量的特性,使用global 关键字修饰
global key_word
但是他的一大缺陷就是只能本module 中也就是本文件中使用,跳出这个module就不行。
try 1:
使用一个更宏观的思路,全局变量就用全局加载的模块解决,很遗憾也是不行,
file_1:
global a
a = "test"
file 2:
import file_1
print(a)
报错a没有定义
try 2:
file_1:
global a
a = "test"
file 2:
import file_1
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)
这样可以,但是如果再有一个module 想用呢?
try 2:
file_1:
global a
a = "test"
file 2:
import file_1
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)
file 2:
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:
def init():
global a
a = {}
def set(arg,value):
a[arg] = value
def get(arg)
return a[arg]
file 2:
import file_1
print(file_1.a)
file_1.set("test",(test_value))
file 2:
import file_1
import file_2
file_1.init()
print(file_1.get("test"))
思路就是使用一个公共的字典的数据结构,在主module 中初始化,其他module都应用此module,但是不重新初始化字典。
来源:https://blog.csdn.net/weiwei_xiaoyu/article/details/109611244
0
投稿
猜你喜欢
- 本文实例为大家分享了python实现飞船大战的具体代码,供大家参考,具体内容如下上篇博文我们一起实现了贪吃蛇与坦克大战200行python代
- SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a
- 有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错
- 当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同
- 这次我们来说一些很小的东西,相当小。不过先说一个故事:这天晚上,你打算出去下一次馆子,就行动了,找到了一家新开的小店进去坐了下来,服务员很殷
- 前言:NumPy 是 Python 语言的一个扩充程序库,支持大量高维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。同时NumP
- Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解这是一道著名的 Python 面试题,考察的问题是,Pyth
- 利用python查找电脑里的文件非常方便比如在我的电脑:D:\软件 文件夹里有非常非常多的软件。我忘记某个软件叫什么名字了,只记得文件名称里
- 下一步是将新创建的应用程序与项目相关联。为此,您需要编辑 myproj 文件夹中的 settings.py 文件,将字符串“myproj.m
- 代码如下:DECLARE @T varchar(255), @C varchar(255) DECLARE Table_Cursor CUR
- # coding:utf-8import urllibimport urllib2import cookielibfrom bs4 impo
- 表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数
- # -*- coding: utf-8 -*-import random#数字类class NumberItem: &
- 使用JavaScript写的一个旋转的彩圈效果图<!DOCTYPE html><html><head>&
- 知识点爬虫基本流程re正则表达式简单使用requestsjson数据解析方法视频数据保存开发环境Python 3.8Pycharm爬虫基本思
- Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScr
- 分享一下 在3est活动中学习的godlong的 代码如下:<% Set xPost = createObject("Mi
- 前端技术层(图片有点偏激,仅供参考)Javascript和DOM关系很暧昧,弄不明白!CSS和HTML
- 我们先从一个常见的Python编程错误开始说起,我已经见过非常多的程序员犯过这种错误了:def do_not_raise(user_defi
- 如下所示:>> type(np.newaxis)NoneType>> np.newaxis == NoneTruen