python-复盘-全局变量的使用

python中全局变量的用法

在python中,全局变量一般有两种使用方式:

第一种:是在一个单独的模块中定义好,然后在需要使用的全局模块中将定义的全局变量模块导入。

第二种:直接在当前的模块中定义好,然后直接在本模块中通过global声明,然后使用

具体的方法如下所示:


第一种

SOLR_URL='http://solr.org'
def tt():
    global SOLR_URL
    SOLR_URL=SOLR_URL+'#aa'

if __name__=='__main__':
    tt()
    print SOLR_URL

#输出:
http://solr.org#aa

PS:在此种用法中,如果我们在函数tt中不使用global 声明全局变量SOLR_URL,其实也可以使用,但是此时应该是作为一个内部变量使用,由于没有初始值,因此报错

Python查找变量是顺序是:先局部变量,再全局变量

SOLR_URL='http://solr.org'
def tt():
    # global SOLR_URL      # 全局变量申明被注销,无法引用上方的值
    SOLR_URL=SOLR_URL+'#aa'

if __name__=='__main__':
    tt()
    print SOLR_URL

#输出:   # 报错
    SOLR_URL=SOLR_URL+'#aa'
UnboundLocalError: local variable 'SOLR_URL' referenced before assignment



第二种

模块 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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容