Python编程基础:第五十二节 高阶函数High Order Functions
第五十二節(jié) 高階函數(shù)High Order Functions
- 前言
- 實踐
前言
高階函數(shù)的使用包含兩種情況,一種是將另一個函數(shù)作為參數(shù),另一種是返回一個函數(shù)。
實踐
我們先來講解第一種情況,一個函數(shù)將另一個函數(shù)作為參數(shù)。我們這里先定義兩個函數(shù),分別將一個字符串中的字母全部大寫/小寫:
def Upper(text):return text.upper()def Lower(text):return text.lower()然后我們定義一個函數(shù),其將Upper函數(shù)或Lower函數(shù)作為參數(shù),目的是給定一個字符串能調(diào)用這兩個函數(shù)執(zhí)行操作:
def Hello(func, text):text = func(text)return text可見我們的Hello函數(shù)有兩個參數(shù),一個是func用于指定調(diào)用哪個函數(shù)進(jìn)行字符串轉(zhuǎn)換,另一個是text用于指定被作用文本:
print(Hello(Lower, "Hello")) >>> hello可見字符串中的字母全部被小寫了,此時我們將函數(shù)Hello稱為高階函數(shù)。
我們接下來介紹另一種情況,即返回一個函數(shù),我們這里以加法計算為例作為說明:
可見,Calculate函數(shù)會先對傳入?yún)?shù)加5,然后返回函數(shù)Sum。我們?nèi)绾握{(diào)用這種高階函數(shù)呢?第一種方式是:
print(Calculate(1)(2)) >>> 8也即將要傳入的參數(shù)依次排列,把每一個函數(shù)的參數(shù)用括號包起來即可,第二種方式是:
func = Calculate(1) print(func(2)) >>> 8也即先調(diào)用Calculate函數(shù),返回Sum函數(shù),再給Sum函數(shù)傳參得到最終的計算結(jié)果。
以上便是高階函數(shù)的全部內(nèi)容,感謝大家的收藏、點贊、評論。我們下一節(jié)將介紹匿名函數(shù)(Lambda Function),敬請期待~
總結(jié)
以上是生活随笔為你收集整理的Python编程基础:第五十二节 高阶函数High Order Functions的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python编程基础:第五十一节 将函数
- 下一篇: Python编程基础:第五十三节 匿名函