Python 基礎視訊課 - 6. 函式下:高階函式
阿新 • • 發佈:2020-10-19
這是 Python 基礎課的第六節 -函式下:高階函式。該系列包含 11 節,目錄如下:
函式下:高階函式
類和物件:封裝-繼承-多型-組合
字串專場:格式化和正則化
解析表示式:簡約也簡單
生成器和迭代器:簡約不簡單
裝飾器:高階不簡單
上貼介紹的普通函式和匿名函式都屬於低階函式,即輸入和輸出都不是函式,而在 Python 裡函式是「一等公民」,我們可以
把函式賦值給變數 (assign function to variable)
把函式儲存到容器 (store functions in container)
把函式傳遞給函式 (pass function to function)
在函式裡返回函式 (return function in function)
如下圖所示:
高階函式在函式化程式設計 (functional programming) 很常見,主要有兩種形式:
函式作為返回
函式作為引數
第一種形式的典型是閉包 (closure),其特點為
通常是巢狀函式 (nested function) 的結構。
該結構由外函式 (outer function) 巢狀內函式 (inner function)。
內函式必須引用非本地 (non-local) 變數。
外函式必須返回內函式。
第二種形式的典型例子由對映函式 (map)、篩選函式 (filter)、累計函式 (reduce) 和偏
此外還有種特殊的函式正規化,叫做柯里化 (currying),它可以把“接受單個引數的函式”轉換成“接受多個引數的函式”。
付費使用者(付 1 贈 1)可以獲得:
觀看課程視訊 (50分鐘)
PDF 課件
Python程式碼 (Jupyter Notebook)
PDF 課件