Python高階函數(shù)與裝飾器函數(shù)的深入講解
本文主要介紹的是Python高階函數(shù)與裝飾器函數(shù)的相關(guān)內(nèi)容,分享給大家,下面話不多說了,來一起看看詳細的介紹吧
高階函數(shù)
1、可以使用函數(shù)對象作為參數(shù)的函數(shù)

2、或可以將函數(shù)作為返回值的函數(shù)

3、函數(shù)對象:定義好的函數(shù),使用函數(shù)名調(diào)用(不要加括號)
#將函數(shù)作為參數(shù)的高階函數(shù),通過傳入不同的函數(shù),可以使執(zhí)行的結(jié)果不同
4、內(nèi)置高階函數(shù)
(1)map數(shù)據(jù)映射函數(shù)
map函數(shù)接收的是兩個參數(shù),一個函數(shù),一個序列,其功能是將序列中的值處理再依次返回至列表內(nèi)。其返回值為一個迭代器對象

(2)reduce累計函數(shù)
reduce函數(shù)也是一個參數(shù)為函數(shù),一個為可迭代對象的高階函數(shù),其返回值為一個值而不是迭代器對象,故其常用與疊加、疊乘等

裝飾器函數(shù)
1、是不修改原函數(shù)的代碼的基礎(chǔ)上,修改增加其他函數(shù)功能的函數(shù)
2、一個裝飾器函數(shù)可以給n個函數(shù)添加或修改相同的功能
裝飾器函數(shù)的實現(xiàn)方法
1、是一個嵌套函數(shù)
2、它也是一個高階函數(shù),將原函數(shù)作為參數(shù),將內(nèi)部函數(shù)作為返回值
3、將原函數(shù)替換為內(nèi)部函數(shù),原函數(shù)在內(nèi)部函數(shù)中執(zhí)行保留原函數(shù)的功能

#通過args 和 *kwargs 傳遞被修飾函數(shù)中的參數(shù)
#@符號是裝飾器的語法糖,在定義函數(shù)的時候使用,避免再一次賦值操作
有參裝飾器(給無參裝飾器上再加一層函數(shù)用于接收參數(shù))

總結(jié)
到此這篇關(guān)于Python高階函數(shù)與裝飾器函數(shù)的文章就介紹到這了,更多相關(guān)Python高階函數(shù)與裝飾器函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?subprocess.Popen?實時輸出?stdout的解決方法(正確管道寫法)
這篇文章主要介紹了Python?subprocess.Popen實時輸出stdout正確管道寫法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07
python如何為被裝飾的函數(shù)保留元數(shù)據(jù)
這篇文章主要為大家詳細介紹了python如何為被裝飾的函數(shù)保留元數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
Python實現(xiàn)Linux的find命令實例分享
本文給大家分享的是使用python簡單實現(xiàn)模擬linux的find命令的實例代碼,推薦給大家,希望大家能夠喜歡2017-06-06

