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中的fileinput模块的简单实用示例
Jul 09 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
python机器学习之随机森林(七)
Mar 26 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
python tkinter图形界面代码统计工具
Sep 18 Python
Python实现把类当做字典来访问
Dec 16 Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
python异步Web框架sanic的实现
Apr 27 Python
keras中的卷积层&池化层的用法
May 22 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
使用anaconda安装pytorch的实现步骤
Sep 03 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php简单日历函数
2015/10/28 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
Display SQL Server Version Information
2007/06/21 Javascript
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
python实现的多线程端口扫描功能示例
2017/01/21 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
使用python实现画AR模型时序图
2019/11/20 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Django中的AutoField字段使用
2020/05/18 Python
python实现xml转json文件的示例代码
2020/12/30 Python
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
一套C++笔试题面试题
2012/06/06 面试题
刘胡兰的英雄事迹材料
2014/02/11 职场文书
行政助理工作职责范本
2014/03/04 职场文书
教师求职信
2014/06/17 职场文书
2014年督导工作总结
2014/11/19 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
四年级作文之说明文作文
2019/10/14 职场文书