python函式作用域簡介
1.定義:函式中變數取值的地方;
2.函式中的變數名除了特殊宣告為全域性變數或本地變數,否則均為區域性變數;
3.變數的作用域解析原則:LEGB原則,即:
變數名引進分為三個作用域進行查詢,首先是本地,再是函式內(如果存在),之後才是全域性變數,最後是內建作用域(內建作用域:內建函式所在模組的範圍);
在預設情況下,變數名賦值會建立或者改變本地已有的變數;
全域性宣告或非本地變數宣告會將賦值的變數名對映到模組檔案的內部作用域;
LEGB機制:
Python搜尋的四個作用域,最先是本地作用域(L);之後是上一層結構中的def所在作用域(E,函式巢狀才會出現),再是全域性作用域(G),最後才是內建作用域(B)
Python會在第一處能夠找到這個變數名的位置停下來,如果python在此次搜尋中沒有找到該變數,會報錯;(即未定義)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2804785/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js 函式作用域鏈簡單介紹JS函式
- javascript函式讀取變數作用域簡單介紹JavaScript函式變數
- 函式(三)作用域之變數作用域、函式巢狀中區域性函式作用域、預設值引數作用域函式變數巢狀
- Python 函式和變數作用域Python函式變數
- Python中以函式為作用域Python函式
- 函式與作用域函式
- 1.5.2 Python函式巢狀及作用域Python函式巢狀
- javascript作用域和作用域鏈簡單介紹JavaScript
- 神奇的函式作用域函式
- javascript作用域簡單介紹JavaScript
- new運算子作用域建構函式建立物件的過程簡單介紹函式物件
- Python函式引數傳遞以及變數作用域Python函式變數
- 第 8 節:函式-函式型別與作用域函式型別
- JavaScript塊級作用域宣告函式JavaScript函式
- 作用域安全的建構函式函式
- 函式式 JavaScript 簡介函式JavaScript
- 函式式API簡介函式API
- Python入門(十八):變數作用域與巢狀函式Python變數巢狀函式
- Python中的高階函式簡介Python函式
- Python 外部函式呼叫庫ctypes簡介Python函式
- javascript基礎(函式與方法的區別,變數作用域,變數和函式的宣告提前,函式作用域)(十五)JavaScript函式變數
- [JavaScript基礎] 函式,初識作用域JavaScript函式
- JS 總結之函式、作用域鏈JS函式
- JS內建物件,函式與作用域JS物件函式
- php 函式簡介PHP函式
- 『無為則無心』Python函式 — 30、Python變數的作用域Python函式變數
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- Python直譯器簡介(1):函式物件Python函式物件
- 暫時性死區以及函式作用域函式
- 10-函式-1-函式簡介函式
- python學習筆記:第10天 函式進階和作用域Python筆記函式
- (譯) 函式式 JS #1:簡介函式JS
- 簡單介紹python的input,print,eval函式Python函式
- 簡單介紹Python 如何擷取字元函式Python字元函式
- 函式表示式和函式宣告簡單介紹函式
- ES6箭頭函式和它的作用域函式
- Linux Shell 自定義函式(定義、返回值、變數作用域)介紹Linux函式變數
- MATLAB函式randn簡介Matlab函式