Python函數(shù)中的全局變量詳解
1、什么是全局變量?
在Python中,全局變量指的是可以作用于函數(shù)內(nèi)部和外部的變量。
在這里有兩種情況:在函數(shù)的外部定義和內(nèi)部定義添加global關(guān)鍵詞變成全局變量。
2、在函數(shù)外部定義的變量是全局變量。
假設(shè)一個(gè)變量在函數(shù)的外部定義,那么這個(gè)函數(shù)就可以在函數(shù)的內(nèi)部訪問,也可以在函數(shù)的外部的訪問。
示例:定義一個(gè)全局變量b,然后定義一個(gè)函數(shù)a,最后在該函數(shù)的內(nèi)部和外部輸出全局變量m的值,??代碼??如下:
b = '我愛Python,我在學(xué)習(xí)Python!' # 定義全局變量 def a(): # 定義函數(shù) print('函數(shù)內(nèi)部全局變量b=',b) # 在函數(shù)內(nèi)部輸出全局變量 a() print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
運(yùn)行結(jié)果如下:
函數(shù)內(nèi)部全局變量b= 我愛Python,我在學(xué)習(xí)Python! 函數(shù)外部全局變量b= 我愛Python,我在學(xué)習(xí)Python! >>>
3、在函數(shù)內(nèi)部定義中添加global關(guān)鍵詞后變成全局變量。
在Python中,內(nèi)部定義的函數(shù)中,添加關(guān)鍵詞global后,改變量就變成了全局變量。在函數(shù)的外部也可以訪問到該變量,同時(shí)還可以在函數(shù)的內(nèi)部進(jìn)行修改。
示例:定義相同名稱不同內(nèi)容的全局變量和局部變量b,并輸出它們的值:
b = '我愛Python,我在學(xué)習(xí)Python!' # 定義全局變量 print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量 def a(): # 定義函數(shù) b = '人生苦短,我用Pyhon!' # 定義局部變量 print('函數(shù)內(nèi)部局部變量b=',b) # 在函數(shù)內(nèi)部輸出全局變量 a() # 調(diào)用函數(shù) print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
運(yùn)行結(jié)果如下:
函數(shù)外部全局變量b= 我愛Python,我在學(xué)習(xí)Python! 函數(shù)內(nèi)部局部變量b= 人生苦短,我用Pyhon! 函數(shù)外部全局變量b= 我愛Python,我在學(xué)習(xí)Python! >>>
從上面的結(jié)果可以看出,內(nèi)部變量(局部變量)可以和外部變量(全局變量)重名,不影響全局變量的值。
當(dāng)然在函數(shù)內(nèi)部變量前面添加關(guān)鍵字global,就變成了全局變量了,代碼如下:
b = '我愛Python,我在學(xué)習(xí)Python!' # 定義全局變量 print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量 def a(): # 定義函數(shù) global b # 添加global關(guān)鍵字 b = '人生苦短,我用Pyhon!' # 定義局部變量 print('函數(shù)內(nèi)部全局變量b=',b) # 在函數(shù)內(nèi)部輸出全局變量 a() # 調(diào)用函數(shù) print('函數(shù)外部全局變量b=',b) # 在函數(shù)外部輸出全局變量
運(yùn)行結(jié)果如下:
函數(shù)外部全局變量b= 我愛Python,我在學(xué)習(xí)Python! 函數(shù)內(nèi)部全局變量b= 人生苦短,我用Pyhon! 函數(shù)外部全局變量b= 人生苦短,我用Pyhon! >>>
從上面的結(jié)果可以看出,在函數(shù)的內(nèi)部也可以修改全局變量的值。
總結(jié)
到此這篇關(guān)于Python函數(shù)中的全局變量詳解的文章就介紹到這了,更多相關(guān)Python全局變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于tensorflow和keras版本的對(duì)應(yīng)關(guān)系
這篇文章主要介紹了關(guān)于tensorflow和keras版本的對(duì)應(yīng)關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Python接口自動(dòng)化測(cè)試框架運(yùn)行原理及流程
這篇文章主要介紹了Python接口自動(dòng)化測(cè)試框架運(yùn)行原理及流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python yield與實(shí)現(xiàn)方法代碼分析
yield的功能類似于return,但是不同之處在于它返回的是生成器。下面通過本文給大家介紹Python yield與實(shí)現(xiàn)方法,需要的朋友參考下2018-02-02python中的生成器實(shí)現(xiàn)周期性報(bào)文發(fā)送功能
本文主要介紹了python中的生成器實(shí)現(xiàn)周期性報(bào)文發(fā)送功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作指南
在Python中需要通過正則表達(dá)式對(duì)字符串進(jìn)?匹配的時(shí)候,可以使??個(gè)python自帶的模塊,名字為re,下面這篇文章主要給大家介紹了關(guān)于Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作的相關(guān)資料,需要的朋友可以參考下2022-07-07Jupyter notebook遠(yuǎn)程訪問服務(wù)器的方法
今天小編就為大家分享一篇Jupyter notebook遠(yuǎn)程訪問服務(wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05