這篇文章給大家介紹Python中怎么隱藏全局變量,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)是專業(yè)的恭城網(wǎng)站建設公司,恭城接單;提供成都做網(wǎng)站、成都網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行恭城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
程序大致是這樣的:
CONSTANT = 0 def modifyConstant() : print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
運行結果如下:
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認為CONSTANT是局部變量,而print CONSTANT又在CONSTANT += 1之前,所以當然會發(fā)生這種錯誤。那么,應該如何在函數(shù)內(nèi)部訪問并修改Python全局變量呢?應該使用關鍵字global來修飾變量(有點像PHP):
CONSTANT = 0 def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
關于Python中怎么隱藏全局變量就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。