python函式作用域簡介
1.定義:函式中變數取值的地方;
2.函式中的變數名除了特殊宣告為全域性變數或本地變數,否則均為區域性變數;
3.變數的作用域解析原則:LEGB原則,即:
變數名引進分為三個作用域進行查詢,首先是本地,再是函式內(如果存在),之後才是全域性變數,最後是內建作用域(內建作用域:內建函式所在模組的範圍);
在預設情況下,變數名賦值會建立或者改變本地已有的變數;
全域性宣告或非本地變數宣告會將賦值的變數名對映到模組檔案的內部作用域;
LEGB機制:
Python搜尋的四個作用域,最先是本地作用域(L);之後是上一層結構中的def所在作用域(E,函式巢狀才會出現),再是全域性作用域(G),最後才是內建作用域(B)
Python會在第一處能夠找到這個變數名的位置停下來,如果python在此次搜尋中沒有找到該變數,會報錯;(即未定義)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2804785/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python中以函式為作用域Python函式
- Python 函式和變數作用域Python函式變數
- 函式(三)作用域之變數作用域、函式巢狀中區域性函式作用域、預設值引數作用域函式變數巢狀
- 1.5.2 Python函式巢狀及作用域Python函式巢狀
- Python中的高階函式簡介Python函式
- 第 8 節:函式-函式型別與作用域函式型別
- Python入門(十八):變數作用域與巢狀函式Python變數巢狀函式
- 『無為則無心』Python函式 — 30、Python變數的作用域Python函式變數
- JavaScript塊級作用域宣告函式JavaScript函式
- 函式式API簡介函式API
- php 函式簡介PHP函式
- [JavaScript基礎] 函式,初識作用域JavaScript函式
- JS 總結之函式、作用域鏈JS函式
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- 簡單介紹Python 如何擷取字元函式Python字元函式
- 簡單介紹python的input,print,eval函式Python函式
- python學習筆記:第10天 函式進階和作用域Python筆記函式
- 10-函式-1-函式簡介函式
- 暫時性死區以及函式作用域函式
- (譯) 函式式 JS #1:簡介函式JS
- 簡單介紹Python中的配對函式zip()Python函式
- 實用函式式 Java (PFJ)簡介函式Java
- 給妹子講python-S01E19解析Python內嵌作用域與函式閉包Python函式
- python-作用域Python
- 如何寫一個作用域安全的建構函式函式
- VFS簡介和核心操作函式函式
- Python課堂筆記 第7章 包、模組、函式與變數作用域Python筆記函式變數
- 由兩道題擴充套件的對作用域,作用域鏈,閉包,立即執行函式,匿名函式的認識總結套件函式
- 未知領域系列:Python基礎之迴圈,條件,包,函式,模組和變數作用域Python函式變數
- Python range()函式有什麼作用?如何使用?Python函式
- 塊級作用域替代“匿名立即執行函式表示式(匿名IIFE)”函式
- 簡述回撥函式的意義和作用函式
- 簡單介紹JS函式防抖和函式節流JS函式
- C語言學習四 — 函式與作用域規則C語言函式
- Python作用域詳述Python
- TypeScript基礎入門-函式-簡介TypeScript函式
- JS基礎難點總結(函式作用域,變數提升,物件,建構函式,this)全!!!JS函式變數物件
- 十二、變數作用域:區域性變數、全域性變數,函式版名片管理系統—新增函式文件變數函式