在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