在工作过程中,在使用全局变量时遇到了些问题,
有两个文件,一个是tt.py,代码如下,
1 #coding=utf8 2 3 SUM_COST = 0 4 5 def cons(): 6 global SUM_COST #如果要修改全局变量一定要加gloal声明,单纯的读取则不用 7 SUM_COST += 1 8 print SUM_COST
另一个是cc.py,代码如下,
#coding=utf8 from tt import SUM_COST, cons print SUM_COST cons() print SUM_COST
个人理解cc里输出应该分别是0,1但发现输出的都是0,
发现调用cons()并不会修改cc脚本里的全局变量,也就是说
from tt import SUM_COST 引入的变量应该是一个副本?(个人猜测)
怎样才能真正使用这个全局变量呢?解决方法如下了,代码如下,
1 from tt import SUM_COST, cons 2 import tt 3 4 print SUM_COST 5 cons() 6 print SUM_COST 7 print tt.SUM_COST #加上模块名
加上tt作模块名就解决了这个问题!