站長在線Python教程精講:在Python函數(shù)中的全局變量詳解
歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《Python中的全局變量詳解》。本文的主要內容有:什么是全局變量、在函數(shù)外部定義的變量是全局變量、在函數(shù)內部定義中添加global關鍵詞后變成全局變量。
永久美國免備案虛擬主機1元1天,15元1月,100元1年,1000元永久
站長在線旗下答案網(wǎng)站,全站所有題目,免費查看答案和答案解析
歡迎你來到站長在線的站長學堂學習python知識,本文學習的是《Python中的全局變量詳解》。本文的主要內容有:什么是全局變量、在函數(shù)外部定義的變量是全局變量、在函數(shù)內部定義中添加global關鍵詞后變成全局變量。
我們在上節(jié)課程《在Python函數(shù)中的局部變量詳解》中,說到了局部變量,這個非常的簡單,局部變量是指在函數(shù)內部定義并使用的變量,只能在函數(shù)內部使用有效。本節(jié)課就來講解一下全局變量。
1、什么是全局變量?
在Python中,全局變量指的是可以作用于函數(shù)內部和外部的變量。
在這里有兩種情況:在函數(shù)的外部定義和內部定義添加global關鍵詞變成全局變量。
接下來,站長在線將一一解讀這兩種情況。
2、在函數(shù)外部定義的變量是全局變量。
假設一個變量在函數(shù)的外部定義,那么這個函數(shù)就可以在函數(shù)的內部訪問,也可以在函數(shù)的外部的訪問。
示例:定義一個全局變量b,然后定義一個函數(shù)a,最后在該函數(shù)的內部和外部輸出全局變量m的值,代碼如下:
b = '我愛Python,我在學習Python!' # 定義全局變量
def a(): # 定義函數(shù)
print('函數(shù)內部全局變量b=',b) # 在函數(shù)內部輸出全局變量
a()
print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
運行結果如下:
函數(shù)內部全局變量b= 我愛Python,我在學習Python!
函數(shù)外部全局變量b= 我愛Python,我在學習Python!
>>>
3、在函數(shù)內部定義中添加global關鍵詞后變成全局變量。
在Python中,內部定義的函數(shù)中,添加關鍵詞global后,改變量就變成了全局變量。在函數(shù)的外部也可以訪問到該變量,同時還可以在函數(shù)的內部進行修改。
示例:定義相同名稱不同內容的全局變量和局部變量b,并輸出它們的值:
b = '我愛Python,我在學習Python!' # 定義全局變量
print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
def a(): # 定義函數(shù)
b = '人生苦短,我用Pyhon!' # 定義局部變量
print('函數(shù)內部局部變量b=',b) # 在函數(shù)內部輸出全局變量
a() # 調用函數(shù)
print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
運行結果如下:
函數(shù)外部全局變量b= 我愛Python,我在學習Python!
函數(shù)內部局部變量b= 人生苦短,我用Pyhon!
函數(shù)外部全局變量b= 我愛Python,我在學習Python!
>>>
從上面的結果可以看出,內部變量(局部變量)可以和外部變量(全局變量)重名,不影響全局變量的值。
當然在函數(shù)內部變量前面添加關鍵字global,就變成了全局變量了,代碼如下:
b = '我愛Python,我在學習Python!' # 定義全局變量
print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
def a(): # 定義函數(shù)
global b # 添加global關鍵字
b = '人生苦短,我用Pyhon!' # 定義局部變量
print('函數(shù)內部全局變量b=',b) # 在函數(shù)內部輸出全局變量
a() # 調用函數(shù)
print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
運行結果如下:
函數(shù)外部全局變量b= 我愛Python,我在學習Python!
函數(shù)內部全局變量b= 人生苦短,我用Pyhon!
函數(shù)外部全局變量b= 人生苦短,我用Pyhon!
>>>
從上面的結果可以看出,在函數(shù)的內部也可以修改全局變量的值。但是,站長在線在這里有一個提醒:
站長在線提醒:雖然在Python里面可以讓全局變量和局部變量重名,但是,我們在實際開發(fā)中,盡量避免兩個變量重名,免得搞混、出錯。
本文地址:http://003188.cn/pythonquanjubianliang.html
阿里云虛擬主機1G空間,120元一年
香港、美國虛擬主機100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡