Python学习笔记——全局变量声明
生活随笔
收集整理的這篇文章主要介紹了
Python学习笔记——全局变量声明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在編寫python程序時發現,在函數中可以對函數外面的全局變量進行讀取、打印等操作,但是不能賦值,否則會報錯:
UnboundLocalError: local variable 'a' referenced before assignment
示例代碼如下:
a = 0def fun():print(a)b = a + 1a = 1fun()原因是變量a被Python解釋器認為是局部變量而非全局變量,并且在賦值之前就進行了引用。如果調整程序順序如下,就不會報錯了:
a = 0def fun():a = 1print(a)b = a + 1fun()
但是我們發現,這并不符合我們編程的本意,沒有用到全局變量a。于是修改程序,使用global關鍵字對全局變量a進行聲明。這時a就變成了全局變量,并且可以隨意讀取和賦值了。修改后的代碼如下:
a = 0def fun():global a #聲明全局變量aprint(a)b = a + 1a = 1fun()轉載于:https://www.cnblogs.com/yucen/p/9343567.html
總結
以上是生活随笔為你收集整理的Python学习笔记——全局变量声明的全部內容,希望文章能夠幫你解決所遇到的問題。