十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家介紹Python中怎么隱藏全局變量,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)是專業(yè)的恭城網(wǎng)站建設(shè)公司,恭城接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行恭城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
程序大致是這樣的:
CONSTANT = 0 def modifyConstant() : print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
運行結(jié)果如下:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment看來,Python全局變量在函數(shù)modifyConstant中邊成了局部變量,似乎全局變量沒有生效?
做點修改:
CONSTANT = 0 def modifyConstant() : print CONSTANT #CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
運行正常,看來函數(shù)內(nèi)部是可以訪問全局變量的。
所以,問題就在于,因為在函數(shù)內(nèi)部修改了變量CONSTANT,Python認(rèn)為CONSTANT是局部變量,而print CONSTANT又在CONSTANT += 1之前,所以當(dāng)然會發(fā)生這種錯誤。那么,應(yīng)該如何在函數(shù)內(nèi)部訪問并修改Python全局變量呢?應(yīng)該使用關(guān)鍵字global來修飾變量(有點像PHP):
CONSTANT = 0 def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
關(guān)于Python中怎么隱藏全局變量就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。