函式物件:函式是第一類物件,函式名指向的值是可以被當作引數進行傳遞的
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對於的是變數的值。例如 命名空間一共分為三種 區域性命名空間 全域性命名空間 內建命名空間 區域性空間 每個函式都有自己的命名空間,叫做區域性空間,它記錄了函式的變數...