Python 的全局变量
结论: Python 的全局变量只在本文件中生效。
定义全局变量的文件 G.py
# define some global variable A = 1
B = 2
C = 3 def fuck(a=0, b=0, c=0):
global A, B, C
A = a
B = b
C = c def fuck2():
global A, B, C
print 'In fuck2, A = %d, B = %d, C = %d' % (A, B, C)
使用全局变量的文件 use_G.py
from G import * def shit():
global A, B, C
print 'Before, A = %d, B = %d, C = %d' % (A, B, C)
fuck()
fuck2()
print 'After, A = %d, B = %d, C = %d' % (A, B, C) if __name__ == '__main__':
shit()
打印结果如下,
Before, A = , B = , C =
In fuck2, A = , B = , C = 0 # ===> 可见在同一文件中,全局变量的变化是可以传递的。
After, A = , B = , C = 3 # ===> 可见跨越文件,全局变量是不能传递的。
# 解决方法1:使用返回值带回。
# 解决方法2:生产全局变量的脚本写中间文件,比如写一个 cPickle 文件,或者一个数据库文件,使用全局变量的脚本读这个中间文件
完。
Python 的全局变量的更多相关文章
- PYTHON之全局变量
应该尽量避免使用全局变量.不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性.对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难 ...
- Python的全局变量
应该尽量避免使用全局变量.不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性.对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难 ...
- python中全局变量和局部变量的一个小坑
python 中全局变量和局部变量在使用过程中的一个容易出错的地方 什么是全局变量 python中,在函数外部声明的变量可以叫做全局变量. x = 10 def fn1(): pass fn1() 什 ...
- Python 中全局变量的实现
一.概述 Python 中全局变量的使用场景不多,但偶尔也有用武之处. 如在函数中的初始化,有时需要从外部传入一个全局变量加以控制.或者在函数中,使用连接池时,也可能有使用全局变量的需要. 广义上的全 ...
- Python实现全局变量的两个解决方法
Python实现全局变量的两个解决方法 本文针对Python的全局变量实现方法简述如下: 先来看下面一段测试程序: count = 0 def Fuc(count): print coun ...
- python 默认全局变量
python 内置默认全局变量print (vars()) __doc__ #py文件头部的注释 '''我是一个注释例子''' print (vars()) __file__ #当前文件路劲__pac ...
- python之全局变量与局部变量
全局变量: - 在书写中顶格开始: - 一旦定义完毕在整个文件生效: - 在函数内如果定义了同名全局变量名,会“覆盖”掉全局变量: - 在函数中同名的变量,当在函数退出后消失,全局的同 ...
- 讨论下python中全局变量的使用
首先看一段代码: A = 0 B = [0] def fun1(A, B): A += 1 B[0] += 1 fun1(A, B) print 'after fun1 %d %s' % (A,B) ...
- python中全局变量的使用
python中在module定义的变量可以认为是全局变量, 而对于全局变量的赋值有个地方需要注意. test.py ------------------------------------------ ...
随机推荐
- Mysql Group by 使用解析
使用gruop by 分组 1. 方式一:select name from table1 group by name; 注意:group by 两侧都应该含有name,例如select country ...
- nodejs+expressjs+ws实现了websocket即时通讯,服务器和客户端互相通信
nodejs代码 // 导入WebSocket模块: const WebSocket = require('ws'); // 引用Server类: const WebSocketServer = We ...
- mysql随笔系列-1
MySQL数据库管理 本人实验所用的MySQL数据库版本:5.5.56-MariaDB MariaDB Server 操作系统:centos7.5 1.创建数据库 MariaDB [(none)]& ...
- 简单的Array.sort 排序方法
[排序]sort类 Arrays.sort升序排序 import java.util.Arrays;//导入Arrays类public class menu{ public static voi ...
- git 入门教程之配置 git
配置 git 安装完成后,还需要最后一步配置就可以愉快使用了,在命令行输入: git config --global user.name "your username" git c ...
- C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)
一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整. 配置参数,可以放在配置文件中.环境变量中.或数据库表中(如果使用了数据库的话).通常,配置数据,以 k ...
- 使用IEDriverServer.exe驱动IE11,实现自动化测试
+ 下载IEDriverServer http://dl.pconline.com.cn/download/771640-1.html 解压缩得到IEDriverServer.e ...
- 全局Ajax加载时呈现Loading
全局设置: 1 2 3 4 5 $(document).bind("ajaxSend", function () { $("#loading_messag ...
- ASP.NET -- WebForm -- .aspx与.aspx.cs文件
ASP.NET -- WebForm -- .aspx与.aspx.cs文件 1. ASP.NET -- WebForm(C#)文件 .aspx文件:是Html页面,页面的布局,样式在该文件中设计. ...
- Object类(根类)
Object中的方法是所有类都有的方法,每个类默认继承了Object类. boolean equals(Object obj) : Object中默认是比较地址,可以重写equals(Object ...