Python 是一門支持函數和變量作用域的編程語言。作用域定義了程序中變量和函數的可見性和訪問范圍。Python 有兩種作用域:全局作用域
和局部作用域
。
全局作用域是在整個程序中都可見的。在全局區域定義的變量和函數可以在全局范圍內被訪問。你可以使用關鍵字global
來聲明一個全局變量,這樣它就可以被全局范圍內的所有函數所共享。
global_var = 5 def some_function(): # 在函數內部使用全局變量需要先用 global 關鍵字聲明 global global_var global_var += 1
局部作用域定義在函數內部,只能在函數內部訪問。在局部作用域內定義的變量和函數只能在該作用域內使用。你可以使用關鍵字nonlocal
來聲明一個在父級作用域內的變量,這樣它就可以在局部作用域內被使用。
def some_function(): # 定義在函數內部的局部變量 local_var = 3 def some_inner_function(): # 在嵌套的函數內使用 nonlocal 關鍵字聲明父級作用域內的變量 nonlocal local_var local_var += 1 some_inner_function() print(local_var) # 輸出 4,因為 some_inner_function() 已經修改了局部變量的值
作用域對于 Python 程序的正確性和可讀性非常重要。使用正確的作用域可以避免命名沖突和意外的行為,使代碼更加可維護和可擴展。