最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中變量的作用域的具體使用

 更新時(shí)間:2023年03月13日 14:35:02   作者:程序員小十一  
本文主要介紹了Python中變量的作用域的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

變量的作用域是指程序代碼能夠訪問(wèn)該變量的區(qū)域,如果超出該區(qū)域,再訪問(wèn)時(shí)就會(huì)出現(xiàn)錯(cuò)誤。在程序中,一般會(huì)根據(jù)變量的 “有效范圍” 將變量分為 “全局變量” 和 “局部變量”。

一、局部變量

局部變量是指在函數(shù)內(nèi)部定義并使用的變量,它只在函數(shù)內(nèi)部有效。即函數(shù)內(nèi)部的名字只在函數(shù)運(yùn)行時(shí)才會(huì)創(chuàng)建,在函數(shù)運(yùn)行之前或者運(yùn)行完畢之后,所有的名字就都不存在了。所以,如果在函數(shù)外部使用函數(shù)內(nèi)部定義的變量,就會(huì)出現(xiàn)拋出 NameError 異常。

例如,定義一個(gè)名稱為 function 的函數(shù),在該函數(shù)內(nèi)部定義一個(gè)變量 poem(稱為局部變量),并為其賦值,然后輸出該變量,最后在函數(shù)體外部再次輸出 poem 變量,代碼如下:

def function():
    poem = '面朝大海,春暖花開'
    print('局部變量poem = ', poem)  # 輸出局部變量的值
function()  # 調(diào)用函數(shù)
print('局部變量poem = ', poem)  # 在函數(shù)體外輸出局部變量的值

  運(yùn)行上面的代碼將顯示如下圖所示的異常。

在這里插入圖片描述

二、全局變量

與局部變量對(duì)應(yīng),全局變量為能夠作用于函數(shù)內(nèi)外的變量。全局變量主要有以下兩種情況:

(1) 如果一個(gè)變量,在函數(shù)外定義,那么不僅在函數(shù)外可以訪問(wèn)到,在函數(shù)內(nèi)也可以訪問(wèn)到。在函數(shù)體以外定義的變量是全局變量。

例如,定義一個(gè)全局變量 poem,然后再定義一個(gè)函數(shù),在該函數(shù)內(nèi)輸出全局變量 poem 的值,代碼如下:

poem = '花有重開日,人無(wú)再少年'  # 全局變量
def function():
    print('函數(shù)體內(nèi):全局變量poem =', poem)  # 在函數(shù)體內(nèi)輸出全局變量的值
function()  # 調(diào)用函數(shù)
print('函數(shù)體外:全局變量poem =', poem)  # 在函數(shù)體外輸出全局變量的值

運(yùn)行上面的代碼,將顯示以下內(nèi)容:

函數(shù)體內(nèi):全局變量poem = 花有重開日,人無(wú)再少年
函數(shù)體外:全局變量poem = 花有重開日,人無(wú)再少年

說(shuō)明當(dāng)局部變量與全局變量重名時(shí),對(duì)函數(shù)體的變量進(jìn)行賦值后,不影響函數(shù)體外的變量。也就是各敲各的鑼,各打各的鼓。

例如,在函數(shù)體外定義一個(gè)全局變量 a,并賦值為 100,在函數(shù)體內(nèi)定義一個(gè)局部變量 a,并賦值為 10,代碼如下所示:

a = 100  # 定義一個(gè)全局變量
def function():
    a = 10  # 定義局部變量
    print(a)  # 輸出局部變量的值
function()  # 調(diào)用函數(shù)
print(a)  # 輸出全局變量的值

執(zhí)行結(jié)果如下所示:

10100

(2) 在函數(shù)體內(nèi)定義,并且使用 global 關(guān)鍵字修飾后,該變量也就變?yōu)槿肿兞?。在函?shù)體外也可以訪問(wèn)到該變量,并且在函數(shù)體內(nèi)還可以對(duì)其進(jìn)行修改。

例如,在函數(shù)體內(nèi)定義一個(gè)變量,使用 global 關(guān)鍵字修飾。代碼如下所示:

poem = '天若有情天亦老,人間正道是滄桑'  # 全局變量
print('函數(shù)體外:poem =', poem)  # 在函數(shù)體外輸出全局變量的值
def function():
    global poem  # 將poem聲明為全局變量
    poem = '人生得意須盡歡,莫使金樽空對(duì)月'  # 全局變量
    print('函數(shù)體內(nèi):poem =', poem)  # 在函數(shù)體內(nèi)輸出全局變量的值
function()  # 調(diào)用函數(shù)
print('函數(shù)體外:poem =', poem)  # 在函數(shù)體外輸出全局變量的值

運(yùn)行上面的代碼,將顯示以下內(nèi)容:

函數(shù)體外:poem = 天若有情天亦老,人間正道是滄桑
函數(shù)體內(nèi):poem = 人生得意須盡歡,莫使金樽空對(duì)月
函數(shù)體外:poem = 人生得意須盡歡,莫使金樽空對(duì)月

從上面的結(jié)果中可以看出,通過(guò) global 關(guān)鍵字修飾的全局變量,是可以在函數(shù)體內(nèi)部修改全局變量的值。

說(shuō)明盡管Python允許全局變量和局部變量重名,但是在實(shí)際開發(fā)時(shí),不建議這么做,因?yàn)檫@樣容易讓代碼混亂,很難分清哪些是全局變量,哪些是局部變量。

到此這篇關(guān)于Python中變量的作用域的具體使用的文章就介紹到這了,更多相關(guān)Python 變量的作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python matplotlib 在指定的兩個(gè)點(diǎn)之間連線方法

    python matplotlib 在指定的兩個(gè)點(diǎn)之間連線方法

    今天小編就為大家分享一篇python matplotlib 在指定的兩個(gè)點(diǎn)之間連線方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python中plt.imshow(image)無(wú)法顯示圖片的解決

    Python中plt.imshow(image)無(wú)法顯示圖片的解決

    這篇文章主要介紹了Python中plt.imshow(image)無(wú)法顯示圖片的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python3 map函數(shù)和filter函數(shù)詳解

    python3 map函數(shù)和filter函數(shù)詳解

    這篇文章主要介紹了python3 map函數(shù)和filter函數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 淺析Python 責(zé)任鏈設(shè)計(jì)模式

    淺析Python 責(zé)任鏈設(shè)計(jì)模式

    這篇文章主要介紹了Python 責(zé)任鏈設(shè)計(jì)模式的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python 設(shè)計(jì)模式,感興趣的朋友可以了解下
    2020-09-09
  • python調(diào)用接口的4種方式代碼實(shí)例

    python調(diào)用接口的4種方式代碼實(shí)例

    這篇文章主要介紹了python調(diào)用接口的4種方式代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python VTK計(jì)算曲面的高斯曲率和平均曲率

    Python VTK計(jì)算曲面的高斯曲率和平均曲率

    這篇文章主要介紹了Python VTK計(jì)算曲面的高斯曲率和平均曲率,如何使用戶Python版本的VTK計(jì)算曲面的高斯曲率并映射在曲面上。本例中使用了兩個(gè)不同的表面,每個(gè)表面根據(jù)其高斯曲率和平均曲率著色,需要的朋友可以參考一下
    2022-04-04
  • Python編程tkinter庫(kù)Canvas實(shí)現(xiàn)涂鴉顏色表及圍棋盤示例

    Python編程tkinter庫(kù)Canvas實(shí)現(xiàn)涂鴉顏色表及圍棋盤示例

    這篇文章主要為大家介紹了Python編程中如何使用tkinter庫(kù)Canvas來(lái)實(shí)現(xiàn)涂鴉,顏色表及圍棋盤的示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • python語(yǔ)言使用技巧分享

    python語(yǔ)言使用技巧分享

    下面小編就為大家?guī)?lái)一篇python語(yǔ)言使用技巧分享。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • 關(guān)于不懂Chromedriver如何配置環(huán)境變量問(wèn)題解決方法

    關(guān)于不懂Chromedriver如何配置環(huán)境變量問(wèn)題解決方法

    這篇文章主要介紹了關(guān)于不懂Chromedriver如何配置環(huán)境變量問(wèn)題解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 在python2.7中用numpy.reshape 對(duì)圖像進(jìn)行切割的方法

    在python2.7中用numpy.reshape 對(duì)圖像進(jìn)行切割的方法

    今天小編就為大家分享一篇在python2.7中用numpy.reshape 對(duì)圖像進(jìn)行切割的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

海兴县| 苗栗县| 响水县| 罗田县| 盐边县| 广宗县| 松溪县| 贵州省| 扶风县| 海兴县| 萨嘎县| 互助| 太原市| 灵璧县| 平乐县| 华宁县| 海林市| 晋中市| 北宁市| 三都| 五家渠市| 曲麻莱县| 庐江县| 桑日县| 钦州市| 隆德县| 林甸县| 黔东| 尚义县| 宁强县| 上林县| 襄汾县| 安庆市| 江都市| 聂荣县| 马鞍山市| 襄垣县| 泽库县| 舟山市| 丰顺县| 巴楚县|