python函式作用域簡介

wangsys發表於2021-09-09

1.定義:函式中變數取值的地方;
2.函式中的變數名除了特殊宣告為全域性變數或本地變數,否則均為區域性變數;
3.變數的作用域解析原則:LEGB原則,即:
變數名引進分為三個作用域進行查詢,首先是本地,再是函式內(如果存在),之後才是全域性變數,最後是內建作用域(內建作用域:內建函式所在模組的範圍);
在預設情況下,變數名賦值會建立或者改變本地已有的變數;
全域性宣告或非本地變數宣告會將賦值的變數名對映到模組檔案的內部作用域;
LEGB機制:
Python搜尋的四個作用域,最先是本地作用域(L);之後是上一層結構中的def所在作用域(E,函式巢狀才會出現),再是全域性作用域(G),最後才是內建作用域(B)
Python會在第一處能夠找到這個變數名的位置停下來,如果python在此次搜尋中沒有找到該變數,會報錯;(即未定義)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2804785/,如需轉載,請註明出處,否則將追究法律責任。

相關文章