Python函式中的全域性變數詳解
阿新 • • 發佈:2022-11-29
1、什麼是全域性變數?
在Python中,全域性變數指的是可以作用於函式內部和外部的變數。
在這裡有兩種情況:在函式的外部定義和內部定義新增global關鍵詞變成全域性變數。
2、在函式外部定義的變數是全域性變數。
假設一個變數在函式的外部定義,那麼這個函式就可以在函式的內部訪問,也可以在函式的外部的訪問。
示例:定義一個全域性變數b,然後定義一個函式a,最後在該函式的內部和外部輸出全域性變數m的值,程式碼如下:
b = '我愛Python,我在學習Python!' # 定義全域性變數 def a(): #定義函式 print('函式內部全域性變數b=',b) # 在函式內部輸出全域性變數 a() print('函式外部全域性變數b=',b) # 在函式外部輸出全域性變數
結果如下:
函式內部全域性變數b= 我愛Python,我在學習Python! 函式外部全域性變數b= 我愛Python,我在學習Python!
3、在函式內部定義中新增global關鍵詞後變成全域性變數。
在Python中,內部定義的函式中,新增關鍵詞global後,改變數就變成了全域性變數。在函式的外部也可以訪問到該變數,同時還可以在函式的內部進行修改。
示例:定義相同名稱不同內容的全域性變數和區域性變數b,並輸出它們的值:
b = '我愛Python,我在學習Python!' # 定義全域性變數 print('函式外部全域性變數b=',b) # 在函式外部輸出全域性變數 def a(): # 定義函式 b = '人生苦短,我用Pyhon!' # 定義區域性變數 print('函式內部區域性變數b=',b) # 在函式內部輸出全域性變數 a() # 呼叫函式 print('函式外部全域性變數b=',b) # 在函式外部輸出全域性變數
執行結果如下:
函式外部全域性變數b= 我愛Python,我在學習Python! 函式內部區域性變數b= 人生苦短,我用Pyhon! 函式外部全域性變數b= 我愛Python,我在學習Python!
從上面的結果可以看出,內部變數(區域性變數)可以和外部變數(全域性變數)重名,不影響全域性變數的值。
當然在函式內部變數前面新增關鍵字global,就變成了全域性變量了,程式碼如下:
b = '我愛Python,我在學習Python!' # 定義全域性變數 print('函式外部全域性變數b=',b) # 在函式外部輸出全域性變數 def a(): # 定義函式 global b # 新增global關鍵字 b = '人生苦短,我用Pyhon!' # 定義區域性變數 print('函式內部全域性變數b=',b) # 在函式內部輸出全域性變數 a() # 呼叫函式 print('函式外部全域性變數b=',b) # 在函式外部輸出全域性變數
執行結果如下:
函式外部全域性變數b= 我愛Python,我在學習Python! 函式內部全域性變數b= 人生苦短,我用Pyhon! 函式外部全域性變數b= 人生苦短,我用Pyhon!參考:http://www.shanhubei.com/archives/2493.html