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

  • 更新时间:2020-03-07 17:20:11
  • 编辑:方成荫
我们帮大家精选了Python相关的编程文章,网友孟和通根据主题投稿了本篇教程内容,涉及到Python、全局变量、实例分析Python跨文件全局变量的实现方法相关内容,已被352网友关注,内容中涉及的知识点可以在下方直接下载获取。

参考资料

正文内容

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

我们在使用Python编写应用的时候,有时候会遇到多个文件之间传递同一个全局变量的情况。所以下面这篇文章主要给大家介绍了关于Python跨文件全局变量的实现方法,需要的朋友可以参考借鉴,下面来一起看看吧,希望能帮助到大家。

 

在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实现字符串匹配算法实例代码

Python扩展内置类型的实现方法分析

以上就是实例分析Python跨文件全局变量的实现方法的详细内容,更多请关注码农之家其它相关文章!

Python相关教程

  • Python基础入门--区块链

    区块链的基础概念很简单:一个分布式数据库,存储一个不断加长的 list,list 中包含着许多有序的记录。下面这篇文章主要给大家介绍了关于Python学习入门之区块链的相关资料,文中通过示例

    发布时间:2019-07-11

  • python3.x实现base64加密和解密

    这篇文章主要为大家详细介绍了python3.x实现base64加密和解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2019-06-03

  • Python3.7从零开始学

    Python3.7从零开始学

    本书专门针对Python新手量身定做,是编者学习和使用Python开发过程中的体会和经验总结,涵盖实际开发中重要的知识点,内容详尽,代码可读性及可操作性强。

    大小:75.8 MBPython3.7电子书

  • Python编程之美:最佳实践指南

    Python编程之美:最佳实践指南

    这书由Python小区的高手KennethReitz进行并机构撰写,由小区数十名开发人员团体无私奉献。*的特点取决于,几近详细地小结了在Python程序编写时会采用的各种各样实践活动方法和工作经验,包含

    大小:29.3 MBPython编程电子书

  • 精通Python爬虫框架Scrapy

    精通Python爬虫框架Scrapy

    大小:8.6 MBPython爬虫电子书

  • 从芯片到云端:Python物联网全栈开发实践

    从芯片到云端:Python物联网全栈开发实践

    本书从物联网的基础概念开始,到相关技术选型、开源工程、参考设计与经验分享,利用Python可加快开发迭代速度、降低开发成本,并可以基于嵌入式Python建立完整的物联网软硬件生态

    大小:214 MBPython电子书

  • Python地理空间分析指南

    Python地理空间分析指南

    Python作为一种高级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言之一。 本书以地理空间分析为背景,介绍了Python在地理信息处理方面的应用技巧。全书共

    大小:12.4 MBPython电子书

  • Python Cookbook

    Python Cookbook

    《Python Cookbook(第3版)中文版》介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编

    大小:29.4 MBPython电子书

  • Python从入门到精通

    Python从入门到精通

    《 Python从入门到精通 》从新手视角去往,根据浅显易懂的語言、多种多样的案例,详解了应用Python开展软件开发应当把握的各层面技术性。全书共有22章,包含初识Python、Python語言基本、运算

    大小:18.9 MBPython入门电子书

用户留言