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

python函數(shù)的作用域及關(guān)鍵字詳解

 更新時間:2019年08月20日 10:19:06   作者:一抹天空  
這篇文章主要介紹了python函數(shù)的作用域及關(guān)鍵字詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

函數(shù)的作用域

python中的作用域分4種情況:

  • L:local,局部作用域,即函數(shù)中定義的變量;
  • E:enclosing,嵌套的父級函數(shù)的局部作用域,即包含此函數(shù)的上級函數(shù)的局部作用域,但不是全局的;
  • G:globa,全局變量,就是模塊級別定義的變量;
  • B:built-in,系統(tǒng)固定模塊里面的變量,比如int, bytearray等。 搜索變量的優(yōu)先級順序依次是:作用域局部>外層作用域>當(dāng)前模塊中的全局>python內(nèi)置作用域,也就是LEGB。

local和enclosing是相對的,enclosing變量相對上層來說也是local。

作用域產(chǎn)生

在Python中,只有模塊(module),類(class)以及函數(shù)(def、lambda)才會引入新的作用域,其它的代碼塊(如if、try、for等)是不會引入新的作用域的;def、class、lambda是可以引入新作用域的。

global關(guān)鍵字

當(dāng)內(nèi)部作用域想修改外部作用域的變量時,就要用到global和nonlocal關(guān)鍵字了,當(dāng)修改的變量是在全局作用域(global作用域)上的,就要使用global先聲明一下

count = 10
def outer():
  global count#必須先聲明count為全局變量
  print(count)
  count = 100
  print(count)
outer()  

nonlocal關(guān)鍵字

global關(guān)鍵字聲明的變量必須在全局作用域上,不能嵌套作用域上,當(dāng)要修改嵌套作用域(enclosing作用域,外層非全局作用域)中的變量時就需要nonlocal關(guān)鍵字了

def outer():
  count = 10
  def inner():
    nonlocal count #此時count非全局變量,不能用global聲明,需要用到nonlocal關(guān)鍵字
    count = 20
    print(count)
  inner()
  print(count)
outer()

作用域小結(jié)

(1)變量查找順序:LEGB,作用域局部>外層作用域>當(dāng)前模塊中的全局>python內(nèi)置作用域;

(2)只有模塊、類、及函數(shù)才能引入新作用域;

(3)對于一個變量,內(nèi)部作用域先聲明就會覆蓋外部變量,不聲明直接使用,就會使用外部作用域的變量;

(4)內(nèi)部作用域要修改外部作用域變量的值時,全局變量要使用global關(guān)鍵字,嵌套作用域變量要使用nonlocal關(guān)鍵字。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3 圖片 4通道轉(zhuǎn)成3通道 1通道轉(zhuǎn)成3通道 圖片壓縮實(shí)例

    python3 圖片 4通道轉(zhuǎn)成3通道 1通道轉(zhuǎn)成3通道 圖片壓縮實(shí)例

    今天小編就為大家分享一篇python3 圖片 4通道轉(zhuǎn)成3通道 1通道轉(zhuǎn)成3通道 圖片壓縮實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python OpenCV調(diào)用攝像頭檢測人臉并截圖

    Python OpenCV調(diào)用攝像頭檢測人臉并截圖

    這篇文章主要為大家詳細(xì)介紹了Python OpenCV調(diào)用攝像頭檢測人臉并截圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python 測試框架unittest和pytest的優(yōu)劣

    Python 測試框架unittest和pytest的優(yōu)劣

    這篇文章主要介紹了Python 測試框架unittest和pytest的優(yōu)劣,幫助大家更好的進(jìn)行python程序的測試,感興趣的朋友可以了解下
    2020-09-09
  • python?open讀取文件內(nèi)容時的mode模式解析

    python?open讀取文件內(nèi)容時的mode模式解析

    這篇文章主要介紹了python?open讀取文件內(nèi)容時的mode模式解析,Python可以使用open函數(shù)來實(shí)現(xiàn)文件的打開,關(guān)閉,讀寫操作,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 基于Flask框架添加多個AI模型的API并進(jìn)行交互

    基于Flask框架添加多個AI模型的API并進(jìn)行交互

    這篇文章主要介紹了如何基于 Flask 框架開發(fā) AI 模型 API 管理系統(tǒng),允許用戶添加、刪除不同 AI 模型的 API 密鑰,感興趣的可以了解下
    2025-03-03
  • python初學(xué)定義函數(shù)

    python初學(xué)定義函數(shù)

    這篇文章主要為大家介紹了python的定義函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助,希望能夠給你帶來幫助
    2021-11-11
  • Python實(shí)現(xiàn)簡單的2048小游戲

    Python實(shí)現(xiàn)簡單的2048小游戲

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡單的2048小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • pytorch LayerNorm參數(shù)的用法及計(jì)算過程

    pytorch LayerNorm參數(shù)的用法及計(jì)算過程

    這篇文章主要介紹了pytorch LayerNorm參數(shù)的用法及計(jì)算過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python常用模塊詳解

    python常用模塊詳解

    今天小編就為大家分享一篇關(guān)于舉例講解Python常用模塊,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-10-10
  • python 繪制正態(tài)曲線的示例

    python 繪制正態(tài)曲線的示例

    這篇文章主要介紹了python 繪制正態(tài)曲線的示例,幫助大家更好的利用python繪制圖像,感興趣的朋友可以了解下
    2020-09-09

最新評論

武宣县| 安溪县| 布尔津县| 土默特左旗| 兴国县| 卓资县| 绥化市| 临高县| 永善县| 顺平县| 福州市| 图们市| 莒南县| 满洲里市| 通城县| 长顺县| 华亭县| 东丰县| 黑山县| 漠河县| 渭南市| 久治县| 长武县| 墨脱县| 清新县| 年辖:市辖区| 安徽省| 宿州市| 广河县| 洛南县| 叶城县| 伊宁县| 炎陵县| 涞源县| 舞钢市| 德江县| 邢台市| 米易县| 当涂县| 莱州市| 南江县|