函式的作用域和命名空間

2022-06-24 07:42:09 字數 700 閱讀 1064

全域性作用域:內建命名空間與全域性命名空間的名字屬於全域性範圍,

在整個檔案的任意位置都能被引用,全域性有效

區域性作用域:區域性命名空間的名字屬於區域性範圍,

只在函式內部可以被引用,區域性有效

命名空間:存放名字與值的繫結關係(存放名字的地方,三種命名空間,(x=1,1存放於記憶體中,那名字x存放在**呢?命名空間正是存放名字x與1繫結關係的地方))

命名空間分為三種:內建命名空間、全域性命名空間、區域性命名空間

內建命名空間:python直譯器自帶的名字,python直譯器啟動就會生成

全域性命名空間:檔案級別定義的名字都會存放與全域性命名空間,執行python檔案時會產生

區域性命名空間:定義在函式內部的名字,區域性命名空間只有在呼叫函式時才會生效,函式呼叫結束則失效

三者的載入順序:內建命名空間->全域性命名空間->區域性命名空間

取值:區域性命名空間->全域性命名空間->內建命名空間, 也就是常說的legb (local --> enclosing --> global --> built_in)

函式內部修改上層的變數(上層內部沒有會報錯,不能修改全域性變數),如果要在函式內部修改全域性變數,可以在內部名稱前 加上global 宣告全域性變數

函式命名空間和作用域

內建 命名空間 python直譯器啟動之後就可以使用的變數 函式名 全域性 命名空間 在函式外面的變數名 函式名 區域性 命名空間 每乙個函式都擁有自己的命名空間 python直譯器執行 載入順序 所有 內建空間函式名 變數 逐行 載入全域性空間變數 函式名 區域性空間的變數 函式名 在呼叫函式的時...

函式命名空間和作用域

內建 命名空間 python直譯器啟動之後就可以使用的變數 函式名 全域性 命名空間 在函式外面的變數名 函式名 區域性 命名空間 每乙個函式都擁有自己的命名空間 python直譯器執行 載入順序 所有 內建空間函式名 變數 逐行 載入全域性空間變數 函式名 區域性空間的變數 函式名 在呼叫函式的時...

函式 命名空間和作用域

一.命名空間。二.作用域 三函式的巢狀。今日新名詞 1 globals 函式 檢視全域性作用域的內容 2 locals 函式 檢視區域性作用域的內容 3 global 方法 呼叫全域性作用域的變數並獲得修改許可權 4 nonlocal 方法 呼叫區域性作用域的變數並獲得修改許可權.命名空間 用來存放...