您好,登錄后才能下訂單哦!
這篇文章給大家介紹Python中怎么隱藏全局變量,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
程序大致是這樣的:
CONSTANT = 0 def modifyConstant() : print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
運行結果如下:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment看來,Python全局變量在函數modifyConstant中邊成了局部變量,似乎全局變量沒有生效?
做點修改:
CONSTANT = 0 def modifyConstant() : print CONSTANT #CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
運行正常,看來函數內部是可以訪問全局變量的。
所以,問題就在于,因為在函數內部修改了變量CONSTANT,Python認為CONSTANT是局部變量,而print CONSTANT又在CONSTANT += 1之前,所以當然會發生這種錯誤。那么,應該如何在函數內部訪問并修改Python全局變量呢?應該使用關鍵字global來修飾變量(有點像PHP):
CONSTANT = 0 def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
關于Python中怎么隱藏全局變量就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。