函式的命名空間與作用域

2022-09-05 09:03:08 字數 901 閱讀 6232

1、命名空間namespaces

存放名字與值繫結關係的地方

2、命名空間分為三大類

內建命名空間:

作用:存放python直譯器自帶的名字

生命週期:

在直譯器啟動時生效,在直譯器關閉時失效

全域性命名空間:

作用:除了內建的與區域性的名字外,其餘都是全域性名字

生命週期:

在檔案執行時生效,在檔案執行完畢時失效

例如:x,func,y,l,z都是

x=1def func():

a=1y=2

l=[1,2]

if 3 > 2:

ifif

ifz=3

區域性命名空間:

作用:用於存放函式呼叫期間函式體產生的名字

生命週期:

在檔案執行過程

如果呼叫了某個函式才會臨時生效,在函式執行完畢後失效

三種命名空間的載入順序是:

內建-》全域性-》區域性

命名空間就是用來存放名字與值的繫結關係的,所以但凡要查詢名字

一定是從三者之一找到,查詢順序:

從當前所在的位置倒著查詢,如果當前所在的位置是區域性命名空間,

則查詢順序是:

區域性-》全域性-》內建

3、作用域:

域指的是區域、範圍,作用域即作用的範圍

全域性作用範圍,全域性作用域(內建命名空間與全域性命名空間)

全域性有效,全域性存活

區域性作用範圍,區域性作用域(區域性命名空間)

區域性有效,臨時存活

4、函式物件

函式哦是第一類物件,其含義是:函式可以當做資料處理。

1.函式可以被引用

2.函式可以當作引數傳遞

3.返回值可以是函式

4.可以當做容器型別的元素

函式 (二) 命名空間與作用域

我們寫一段 裡面肯定會定義一些變數名,函式名,而一旦我們執行 python直譯器在載入這些 的時候,會在記憶體中開闢一片空間專門用來存放這些名字以及這些名字所繫結的值的關係,這塊記憶體就被稱為命名空間。內建命名空間 內建命名空間是用來存放python直譯器的一些內建方法明以及變數名的。這些名稱是在直...

命名空間與作用域

命名空間即存放名字與物件對映 繫結關係的地方。對於x 3,python會申請記憶體空間存放物件3,然後將名字x與3的繫結關係存放於命名空間中,del x表示清除該繫結關係。在程式執行期間最多會存在三種命名空間 伴隨python直譯器的啟動 關閉而產生 因而是第乙個被載入的命名空間,用來存放一些內建的...

命名空間與作用域

定義 它是儲存作用域中變數的字典。乙個命名空間中不能有重名,但是不同的命名空間可以重名而沒有任何影響。分類 按照變數定義的位置,可以劃分為以下3類 local,區域性命名空間,記錄了函式中定義的所有變數,包括函式的入參 內部定義的區域性變數。使用locals 檢視區域性命名空間。返回的是字典 glo...