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中最大最小赋值小技巧(分享)
Dec 23 Python
Python使用Scrapy保存控制台信息到文本解析
Dec 27 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
浅析PEP572: 海象运算符
Oct 15 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 Python
超详细Python解释器新手安装教程
May 10 Python
Python编写nmap扫描工具
Jul 21 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
PHP4.04简明安装
2006/10/09 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
babel基本使用详解
2017/02/17 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
深入理解Node module模块
2018/03/26 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
python optparse模块使用实例
2015/04/09 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python中的zipfile模块使用详解
2015/06/25 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
Python之字典对象的几种创建方法
2020/09/30 Python
Python字典dict常用方法函数实例
2020/11/09 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
服装厂厂长岗位职责
2013/12/27 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
中学图书馆工作总结
2015/08/11 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL