1. 程式人生 > >區域性變數,全域性變數

區域性變數,全域性變數

<1>什麼是區域性變數
如下圖所示:
在這裡插入圖片描述

<2>小總結
區域性變數,就是在函式內部定義的變數
其作用範圍是這個函式內部,即只能在這個函式中使用,在函式的外部是不能使用的
因為其作用範圍只是在自己的函式內部,所以不同的函式可以定義相同名字的區域性變數(打個比方,把你、我是當做成函式,把區域性變數理解為每個人手裡的手機,你可有個iPhone8,我當然也可以有個iPhone8了, 互不相關)
區域性變數的作用,為了臨時儲存資料需要在函式中定義變數來進行儲存
當函式呼叫時,區域性變數被建立,當函式呼叫完成後這個變數就不能夠使用了
Copyright © BigCat all right reserved,powered by Gitbook

<1>什麼是全域性變數
如果一個變數,既能在一個函式中使用,也能在其他的函式中使用,這樣的變數就是全域性變數

打個比方:有2個兄弟 各自都有手機,各自有自己的小祕密在手機裡,不讓另外一方使用(可以理解為區域性變數);但是家裡的電話是2個兄弟都可以隨便使用的(可以理解為全域性變數)

demo如下:

#定義全域性變數
a = 100

def test1():
print(a) # 雖然沒有定義變數a但是依然可以獲取其資料

def test2():
print(a) # 雖然沒有定義變數a但是依然可以獲取其資料

#呼叫函式
test1()
test2()
執行結果:
在這裡插入圖片描述

總結1:
在函式外邊定義的變數叫做全域性變數
全域性變數能夠在所有的函式中進行訪問
<2>全域性變數和區域性變數名字相同問題
看如下程式碼:
在這裡插入圖片描述

總結2:
當函式內出現區域性變數和全域性變數相同名字時,函式內部中的 變數名 = 資料 此時理解為定義了一個區域性變數,而不是修改全域性變數的值
<3>修改全域性變數
函式中進行使用時可否進行修改呢?

程式碼如下:
在這裡插入圖片描述

總結3:
如果在函式中出現global 全域性變數的名字 那麼這個函式中即使出現和全域性變數名相同的變數名 = 資料 也理解為對全域性變數進行修改,而不是定義區域性變數
如果在一個函式中需要對多個全域性變數進行修改,那麼可以使用

 # 可以使用一次global對多個全域性變數進行宣告
 global a, b
 # 還可以用多次global宣告都是可以的
 # global a
 # global b