當前位置:
首頁 >
Python语言编程之LEGB变量作用域法则
發布時間:2025/5/22
36
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Python语言编程之LEGB变量作用域法则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 在查找"名稱"時,是按照 LEGB 規則查找的:
Local-->Enclosed-->Global-->Built in
Local??? 指的就是函數或者類的方法內部
Enclosed 指的是嵌套函數(一個函數包裹另一個函數,閉包)
Global?? 指的是模塊中的全局變量
Built in 指的是 Python 為自己保留的特殊名稱
---- 來源于《Python學習手冊》
Python的變量名解析機制稱為:LEGB法則。L:本地作用域;E:上一層結構中def或lambda的本地作用域;G:全局作用域;B:內置作用域
LEGB作用域查找原則:當引用一個變量時,Python按以下順序依次進行查找:從本地變量中,在任意上層函數的作用域,在全局作用域,最后在內置作用域中查找。第一個能夠完成查找的就算成功。變量在代碼中被賦值的位置通常就決定了它的作用域。在Python3.0中,nonlocal聲明也可以迫使名稱映射到函數內部的作用域中,而不管是否對其賦值。
這些規則僅對簡單的變量名有效。
總結
以上是生活随笔為你收集整理的Python语言编程之LEGB变量作用域法则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++20 - 下一个大版本功能确定
- 下一篇: 机械工业出版社之道格·赫尔曼《Pytho