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的urllib库提交WEB表单
Feb 24 Python
Python本地与全局命名空间用法实例
Jun 16 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
python删除过期log文件操作实例解析
Jan 31 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
django正续或者倒序查库实例
May 19 Python
Python开发.exe小工具的详细步骤
Jan 27 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创建桌面快捷方式的实例代码
2014/02/17 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
Python ljust rjust center输出
2008/09/06 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python对于requests的封装方法详解
2019/01/03 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
Python上下文管理器全实例详解
2019/11/12 Python
python重要函数eval多种用法解析
2020/01/14 Python
Python操作Excel的学习笔记
2021/02/18 Python
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
数控专业个人求职信范例
2013/11/29 职场文书
九年级英语教学反思
2014/01/31 职场文书
倡议书格式范文
2014/04/14 职场文书
机关办公室岗位职责
2014/04/16 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
聘任通知书
2015/09/21 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
Python实现Hash算法
2022/03/18 Python
Python各协议下socket黏包问题原理
2022/04/12 Python