1. 程式人生 > >python變量作用域LEGB原則

python變量作用域LEGB原則

文件的 使用 -i 原則 osi idt wid rri 函數調用

變量的查找順序:LEGB

名字 定義 生存期
Local

本地作用域、局部作用域的local命名空間。

在函數內(def或lambda)通過使用方式賦值,

且沒有通過global聲明為全局變量。

函數調用時(非定義時)創建,調用結束時消亡。
Enclosing

python2引入了嵌套函數,實現閉包。

這個就是嵌套函數的外部函數的命名空間。

上層函數的本地作用域。

函數調用時(非定義時)創建,調用結束時消亡。
Global

全局作用域:即一個模塊的命名空間。

在模塊文件頂層賦值的變量名,

或者文件的def內生成的名為全局變量的變量名。

模塊被import時創建,解釋器退出時消亡。
Build-in

內置模塊的命名空間。

例如prrint(open),print和open都是內置的變量。

python解釋器啟動時創建,解釋器退出時消亡。

python變量作用域LEGB原則