Python 變量的作用域主要分為四種:局部作用域(Local)、嵌套作用域(Enclosing)、全局作用域(Global)和內置作用域(Built-in)。
局部作用域(Local):在函數內部定義的變量具有局部作用域,它們只能在其被聲明的函數內部訪問。函數執行結束后,局部變量會被銷毀。
嵌套作用域(Enclosing):當一個函數位于另一個函數內部時,外部函數的局部變量可以被內部函數訪問。這些變量位于嵌套作用域。嵌套作用域僅在嵌套的函數內部有效。
全局作用域(Global):在模塊(腳本文件)層級定義的變量具有全局作用域,它們可以在整個模塊內訪問。如果需要在函數內部修改全局變量,需要使用 global
關鍵字聲明。
內置作用域(Built-in):Python 自帶了許多內置函數和變量,如 print()
和 len()
等。這些內置函數和變量位于內置作用域,可以在任何地方訪問。
Python 解釋器在查找變量時,會按照 LGEB 的順序進行查找:Local -> Enclosing -> Global -> Built-in。