一、作用域:成型在函式定義階段,與函式呼叫無關
全域作用域:內置名稱空間與全域名稱空間的名字屬于全域范圍,
在整個檔案的任意位置都能被參考,全域有效
區域作用域:區域名稱空間的名字屬于區域范圍,
只在函式內部可以被參考,區域有效
二、名稱空間
名稱空間:存放名字與值的系結關系(存放名字的地方,三種名稱空間,(x=1,1存放于記憶體中,那名字x存放在哪里呢?名稱空間正是存放名字x與1系結關系的地方))
名稱空間分為三種:內置名稱空間、全域名稱空間、區域名稱空間
內置名稱空間:python解釋器自帶的名字,python解釋器啟動就會生成
全域名稱空間:檔案級別定義的名字都會存放與全域名稱空間,執行python檔案時會產生
區域名稱空間:定義在函式內部的名字,區域名稱空間只有在呼叫函式時才會生效,函式呼叫結束則失效
三者的加載順序:內置名稱空間->全域名稱空間->區域名稱空間
取值:區域名稱空間->全域名稱空間->內置名稱空間, 也就是常說的 LEGB (local --> enclosing --> global --> built_in)
函式內部修改上層的變數(上層內部沒有會報錯,不能修改全域變數),如果要在函式內部修改全域變數,可以在內部名稱前 加上global 宣告全域變數
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/79371.html
標籤:Python
上一篇:Python 函式
