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

詳解Python函數(shù)作用域的LEGB順序

 更新時間:2016年05月14日 16:50:20   作者:岑宇  
這篇文章主要為大家詳細介紹了Python函數(shù)作用域的LEGB順序的相關資料,感興趣的朋友可以參考一下

本文為大家介紹了Python函數(shù)作用域的查找順序,供大家參考,具體內容如下

1.什么是LEGB?
L:local 函數(shù)內部作用域
E:enclosing 函數(shù)內部與內嵌函數(shù)之間
G:global 全局作用域
B:build-in 內置作用域

2.LEGB是作什么用的?
為什么非要介紹這個呢?或者說它們的作用是什么?
原因是因為我們的在學習Python函數(shù)的時候,經(jīng)常會遇到很多定義域的問題,全部變量,內部變量,內部嵌入的函數(shù),等等,Python是如何查找的呢?以及Python又是按照什么順序來查找的呢?這里做一個順序的說明

3.順序是什么
跟名字一樣,Python在函數(shù)里面的查找分為4種,稱之為LEGB,也正是按照這種順序來查找的。

首先,是local,先查找函數(shù)內部
然后,是enclosing,再查找函數(shù)內部與嵌入函數(shù)之間(是指在函數(shù)內部再次定義一個函數(shù))
其次,是global,查找全局
最后,是build-in,內置作用域

4.舉例說明
ex1

passline = 60

def func(val):
  if val >= passline:
    print('pass')
  else:
    print('failed')

func(89)  

'''''''''''' 
pass
[Finished in 0.2s] 
''''''''''''

Python函數(shù)首先查找local,在局部變量作用域里并沒有passline的定義,然后發(fā)現(xiàn)函數(shù)內部并沒有內嵌函數(shù),這時Python開始查找global,在全局里查找到passline的定義,被調用。

ex2

def Max(val1, val2):
  return max(val1, val2)

print(Max(90, 100))

'''''''''
100
[Finished in 0.1s]
'''''''''

Max函數(shù)里面直接調用另外一個函數(shù),調用的max()(注意兩個函數(shù)的大小寫不一樣),該函數(shù)并沒有被定義,但是卻屬于我們上述的第四種,屬于build-in函數(shù),既是在python標準庫里的函數(shù),內置的,可以直接調用的。最后一步才會查找到這里

關于第二種,屬于內嵌函數(shù),即使在函數(shù)里面再次定義一個函數(shù),這時會首先查找local函數(shù)里面是否有定義,然后才會查找函數(shù)里面內嵌函數(shù)里面有沒有定義,這一種有專門的名詞,叫做閉包,閉包在之前一些文章中都有介紹,希望大家閱讀。

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關文章

  • 簡單了解python裝飾器原理及使用方法

    簡單了解python裝飾器原理及使用方法

    這篇文章主要介紹了簡單了解python裝飾器原理及使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Python獲取B站粉絲數(shù)的示例代碼

    Python獲取B站粉絲數(shù)的示例代碼

    這篇文章主要介紹了Python獲取B站粉絲數(shù)的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • jupyter 添加不同內核的操作

    jupyter 添加不同內核的操作

    這篇文章主要介紹了jupyter 添加不同內核的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • python+mysql實現(xiàn)學生信息查詢系統(tǒng)

    python+mysql實現(xiàn)學生信息查詢系統(tǒng)

    這篇文章主要為大家詳細介紹了python+mysql實現(xiàn)學生信息查詢系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • python如何使用requests提交post請求并上傳文件(multipart/form-data)

    python如何使用requests提交post請求并上傳文件(multipart/form-data)

    這篇文章主要給大家介紹了關于python如何使用requests提交post請求并上傳文件(multipart/form-data)的相關資料,Python有許多庫支持,它們可以簡化HTTP上的數(shù)據(jù)傳輸,requests庫是最受歡迎的Python包之一,因為它在網(wǎng)絡刮削中被大量使用,需要的朋友可以參考下
    2023-11-11
  • 使用Python實現(xiàn)圖像標記點的坐標輸出功能

    使用Python實現(xiàn)圖像標記點的坐標輸出功能

    這篇文章主要介紹了使用Python實現(xiàn)圖像標記點的坐標輸出功能,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-08-08
  • Django加載配置的過程詳解

    Django加載配置的過程詳解

    這篇文章主要介紹了Django加載配置的過程詳解,包括Django服務啟動 manage.py的詳細介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • python代碼實現(xiàn)學生信息管理系統(tǒng)

    python代碼實現(xiàn)學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python代碼實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Django中常用的查詢數(shù)據(jù)方法及查詢對象的條件詳解

    Django中常用的查詢數(shù)據(jù)方法及查詢對象的條件詳解

    在web 開發(fā)過程中,Django 與后臺數(shù)據(jù)庫的交互是必不可少的一項,也是實現(xiàn)業(yè)務邏輯所需數(shù)據(jù)的重要方式,這篇文章主要給大家介紹了關于Django中常用的查詢數(shù)據(jù)方法及查詢對象條件的相關資料,需要的朋友可以參考下
    2021-09-09
  • python匹配兩個短語之間的字符實例

    python匹配兩個短語之間的字符實例

    今天小編就為大家分享一篇python匹配兩個短語之間的字符實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

安多县| 绥芬河市| 沾益县| 讷河市| 长宁县| 神池县| 南阳市| 霸州市| 蒙山县| 临朐县| 积石山| 昭苏县| 聂拉木县| 徐闻县| 峨眉山市| 崇义县| 长沙县| 都安| 本溪市| 景泰县| 开原市| 武隆县| 阜新市| 东乡| 安岳县| 浙江省| 始兴县| 磴口县| 石狮市| 元江| 根河市| 崇仁县| 彩票| 呼玛县| 宜阳县| 巫溪县| 独山县| 那曲县| 景宁| 五莲县| 潍坊市|