python基礎 函式的命名空間and作用域

2022-06-20 20:36:07 字數 969 閱讀 8194

函式物件:函式是第一類物件,函式名指向的值是可以被當作引數進行傳遞的

1、函式名可以被傳遞

2、函式名可以被當作引數傳遞給其它函式

3、函式名可以被當作函式的返回值

4、函式名可以被當作容器型別的引數

函式的巢狀呼叫:在函式的內部呼叫其它的函式,可以將複雜的邏輯簡單化

# 比較輸出最大的數

def my_max(x,y):

if x >y:

return

x

return

ydef my_max4(a,b,c,d):

res1 =my_max(a,b)

res2 =my_max(res1,c)

res3 =my_max(res2,d)

return

res3

print(my_max4(

1,2,10,4))

定義:寫乙個函式,使用者可以通過傳參的不同控制函式執行不同的功能

命名空間:字面意思是放名字的地方

分類:內建命名空間:python直譯器已經提前給你定義好了的名字(已經存放到內建命名空間中了)

全域性命名空間:檔案級別的**

區域性命名空間:函式體內置立的名字都屬於區域性命名空間

生命週期:

內建命名空間:只要python直譯器一啟動就立刻建立,當直譯器關閉的時候內建空間自動銷毀

全域性命名空間:只要你右鍵執行py檔案,就會自動建立py檔案程式執行結束自動銷毀

區域性命名空間:函式被呼叫的時候就會自動建立,函式指向結束立即銷毀(動態建立動態銷毀)

名字的查詢順序:區域性-->全域性-->內建

函式在定義階段查詢名字的順序就已經固定了,不會因為函式的呼叫位置變化而變化

作用域:全域性作用域、區域性作用域

global:區域性修改全域性 如果想要修改多個 用逗號隔開

nonlocal:區域性修改區域性  如果想要修改多個 用逗號隔開

命名空間 Python 函式命名空間及作用域

全域性命名空間 個人寫的 但不是函式中的 區域性命名空間 函式 各級別命名空間之間使用關係 def max l print in max func print max 1,2,3 def func s func 函式的記憶體位址 函式名 函式的呼叫 函式的記憶體位址 函式的呼叫 print in m...

命名空間和函式基礎了解

作用域 命名空間所能夠作用的範圍 內建命名空間 程式任何階段任何位置均可使用 全域性有效 全域性命名空間 程式任何階段任何位置均可使用 全域性有效 區域性命名空間 一般情況下只在各自的區域性命名空間中有效 函式名遇到括號就會呼叫!用法1 函式名可以當做變數名賦值 def index print fr...

Python函式高階之函式命名空間

命名空間指的是儲存程式中的變數名和值的地方。命名空間的本質是乙個字典,用來記錄變數名稱和值。字典的key是變數的名稱,字典的value對於的是變數的值。例如 命名空間一共分為三種 區域性命名空間 全域性命名空間 內建命名空間 區域性空間 每個函式都有自己的命名空間,叫做區域性空間,它記錄了函式的變數...