十三、python基礎:變量的作用域2(global保留字)

十三、python基礎:變量的作用域2(global保留字)

全局變量:

整個程序都能直接調用的變量。不管你是在哪個函數中用到的,都能直接調用。

局部變量:

只能在函數內調用的變量。當你在某個函數中定義一個變量時,它就只能在該函數內調用。

爲什麼要區分全局變量和局部變量呢?

全局變量通常會用來暫存數據,一個程序可能會調用多個函數對數據進行處理,一環扣一環處理下去,每個函數都會對這些數據進行修改,如果沒有全局變量來暫存數據,你每調用一個函數,傳入的都是原始數據,就不能做到分步執行處理了。

如果我們希望在函數中使用全局變量,必須在變量的上面加上一個“global 你的變量名“,聲明這個變量是全局變量,不是局部變量。
例如下面這個函數,如果你沒有在函數內加上global進行聲明,會報錯。

a = 0
def add():
    a += 1
    print(a)

add()  

在這裏插入圖片描述

加上了global就能使用變量a了。

a = 0
def add():
    global a
    a += 1
    print(a)

add()

在這裏插入圖片描述

關於變量的作用域,在後面學的閉包中,還會涉及到一個nonlocal保留字,閉包會涉及到在函數內定義另一個函數,這個時候就有可能會用到nonlocal了。關於global和nonlocal的區別,我有另一篇文章專門說明:
探討一下python中nonlocal和global的區別,純屬個人理解,有不同看法的歡迎評論區探討一下

不過如果基礎還不夠的話,現在看會覺得不好理解。
後面看閉包的時候再說明一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章