python中全局變量的用法
在python中,全局變量一般有兩種使用方式:
第一種:是在一個(gè)單獨(dú)的模塊中定義好,然后在需要使用的全局模塊中將定義的全局變量模塊導(dǎo)入。
第二種:直接在當(dāng)前的模塊中定義好,然后直接在本模塊中通過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:在此種用法中,如果我們?cè)诤瘮?shù)tt中不使用global 聲明全局變量SOLR_URL,其實(shí)也可以使用,但是此時(shí)應(yīng)該是作為一個(gè)內(nèi)部變量使用,由于沒有初始值,因此報(bào)錯(cuò)
Python查找變量是順序是:先局部變量,再全局變量
SOLR_URL='http://solr.org'
def tt():
# global SOLR_URL # 全局變量申明被注銷,無法引用上方的值
SOLR_URL=SOLR_URL+'#aa'
if __name__=='__main__':
tt()
print SOLR_URL
#輸出: # 報(bào)錯(cuò)
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