Python跨文件全局变量的实现方法示例


Posted in Python onDecember 10, 2017

前言

在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如:

int a = 5; 
void test(void) 
{ 
a = 1; // 没有先声明,所以用的是全局的变量a 
} 
void test1(void) 
{ 
int a; 
a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a 
} 
void main(void) 
{ 
printf("before: a = %d\n", a); 
test(); 
printf("after test: a = %d\n", a); 
test1(); 
printf("after test1: a = %d\n", a); 
}

在python中,变量不需要先声明,直接使用即可。

Python跨文件全局变量的实现

Python 中 global 关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量,在另外一个py文件 再次使用 global x 也是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错 未定义。

借鉴global 关键字的思路,既然在一个文件里面可以生效的话,那么我们就专门为全局变量定义一个“全局变量管理模块”就好了

全局变量管理模块 globalvar.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
def _init():
 global _global_dict
 _global_dict = {}
def set_value(name, value):
 _global_dict[name] = value
def get_value(name, defValue=None):
 try:
  return _global_dict[name]
 except KeyError:
  return defValue

设置全局变量  a.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import globalvar as gl
gl._init()
gl.set_value('name', 'cc')
gl.set_value('score', 90)

获取全局变量  b.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
import globalvar as gl
name = gl.get_value('name')
score = gl.get_value('score')
print("%s: %s" % (name, score))

主程序  main.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
import a
import b

然后运行主程序文件   python main.py,得出的结果是  cc: 90

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python多重继承实例
Oct 11 Python
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
Python面向对象之反射/自省机制实例分析
Aug 24 Python
python语音识别实践之百度语音API
Aug 30 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
pandas数据拼接的实现示例
Apr 16 Python
基于PyQT实现区分左键双击和单击
May 19 Python
Python中格式化字符串的四种实现
May 26 Python
git进行版本控制心得详谈
Dec 10 #Python
Python内置模块turtle绘图详解
Dec 09 #Python
Python程序退出方式小结
Dec 09 #Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 #Python
Python爬取附近餐馆信息代码示例
Dec 09 #Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 #Python
python登录并爬取淘宝信息代码示例
Dec 09 #Python
You might like
模拟xcopy的函数
2006/10/09 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
document.write的几点使用心得
2014/05/14 Javascript
js中的 || 与 && 运算符详解
2018/05/24 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python中的类与类型示例详解
2019/07/10 Python
Django实现发送邮件功能
2019/07/18 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Python中SQLite如何使用
2020/05/27 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
自行车租赁公司创业计划书
2014/01/28 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
2014年母亲节寄语
2014/05/07 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android