您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關python中有哪些高階函數,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、高階函數
變量可以指向函數,函數的參數可以接收變量,那么函數可以接收另一個函數作為參數,這種函數稱為高階函數。
(1)把函數作為實參
(2)把函數作為返回值
2、系統的內置高階函數
(1)map函數:接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次作用到序列的每個元素,并且把結果作為新的列表返回
(2)reduce函數:把一個函數作用到一個序列上,這個函數必須接收兩個參數,reduce把結果和序列的下一個元素做累積計算
(3)filter函數:也接收一個函數和一個序列,和map函數不同的是,filter函數把傳入的函數依次作用于每個元素,然后返回返回值是True的元素
(4)sorted函數:排序函數
把用戶名按照首字母不區分大小寫排序
(5)sorted()函數按照關鍵字排序
關鍵字:商品個數
(6)sorted()函數按照關鍵字排序,用鍵值來查找
(7)lambda匿名函數:有時候傳參數時不需要顯示自定義的函數,直接傳入匿名函數更方便;冒號前面的x,y表示函數參數,匿名函數不需要擔心函數名的沖突,匿名函數也是一個函數對象,可以把匿名函數賦值給一個變量,再利用變量來調用函數,匿名函數也可以作為返回值返回
3、高階函數的應用:
(1)sorted函數:
(2)sorted函數默認是從小到大排序
4、裝飾器
裝飾器就是用來裝飾函數的:想要增加原有函數的功能,但是不希望修改原有函數的定義,在代碼運行期間動態增加功能的方式
(1)此裝飾器的功能:計算函數的運行時間
import functools
@functools.wraps(f) ##保留原有函數的屬性
運行結果:
(2)此裝飾器的功能:用戶登錄認證
運行結果:
(3)此裝飾器的功能:認證用戶的同時,顯示用戶的轉賬金額
import inspect
inspect.getcallargs()將傳的參數封裝為一個字典,字典的key值是形式參數,value值是實參
(4)此裝飾器的功能:確保收到的每個參數都是整數,是整數就求和,否則拋出錯誤
(5)此裝飾器的功能:給裝飾器傳參數,是整數和浮點數就求和
關于python中有哪些高階函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。