Python中全局变量的两种使用方式详解:模块导入与global声明
在python中,全局变量一般有两种使用方式:

在一个单独的模块里进行定义,接着在需要用到的全局模块中把定义好的全局变量模块导入进来。
第二种是直接在当前的模块里进行定义,接着在本模块中通过 global 进行声明,之后便可使用。
具体的方法如下所示:
第一种:
SOLR_URL='#39;
def tt():
global SOLR_URL
SOLR_URL 加上了 '#aa' ,即将 '#aa' 添加到了 SOLR_URL 中 。
如果 __name__ 等于 '__main__' 。
tt()
print SOLR_URL
#输出:
#aa
在这种用法里,如果我们在函数 tt 中不进行 global 声明全局变量 SOLR_URL,也是可以使用它的。不过此时它应该被当作一个内部变量来使用。因为没有初始值,所以会报错。
Python查找变量是顺序是:先局部变量,再全局变量
SOLR_URL='#39;
def tt():
#global SOLR_URL
SOLR_URL=SOLR_URL+'#aa'
if __name__=='__main__':
tt()
print SOLR_URL
#输出:
SOLR_URL=SOLR_URL+'#aa'
本地变量“SOLR_URL”在赋值之前被引用,导致 UnboundLocalError 错误。
第二种:
global_list.py
GLOBAL_A='hello'
GLOBAL_B='world'
test.py
import global_list
def tt():
print global_list.GLOBAL_A
if __name__=='__main__':
tt()
#输出:
hello