1. 程式人生 > 其它 >Python函式中的全域性變數詳解

Python函式中的全域性變數詳解

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