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 相关文章推荐
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
Python算法应用实战之栈详解
Feb 04 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 Python
django 解决manage.py migrate无效的问题
May 27 Python
在PyCharm中三步完成PyPy解释器的配置的方法
Oct 29 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
Python reduce函数作用及实例解析
May 08 Python
Django之腾讯云短信的实现
Jun 12 Python
python全栈开发语法总结
Nov 22 Python
Python读写锁实现实现代码解析
Nov 28 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
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python小进度条显示代码
2019/03/05 Python
python 三元运算符使用解析
2019/09/16 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
园林设计师自荐信
2013/11/18 职场文书
艺术应用与设计个人的自我评价
2013/11/23 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
安全生产月演讲稿
2014/05/09 职场文书
员工辞职信范文
2015/03/02 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
军训通讯稿范文
2015/07/18 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
关于EntityWrapper的in用法
2022/03/22 Java/Android
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript