函式#
函式是一段可重複使用的程式碼,用 def 關鍵字定義,呼叫時執行函式內的程式,達到「寫一次、多次使用」的效果。
Python 的函式支援預設參數、關鍵字引數、可變參數,以及作為一級物件傳遞與回傳。
定義與呼叫函式#
| |
回傳值(return)#
| |
參數類型#
位置參數(Positional Arguments)#
| |
預設參數(Default Arguments)#
| |
注意 :預設參數必須放在非預設參數的 後面 。
關鍵字參數(Keyword Arguments)#
| |
*args:接受任意數量的位置參數#
| |
**kwargs:接受任意數量的關鍵字參數#
| |
組合使用#
| |
變數作用域(Scope)#
| |
Lambda 函式(匿名函式)#
Lambda 是一種簡短的 單行函式 ,常搭配 sorted()、map()、filter() 使用:
| |
常用高階函式#
高階函式(Higher-Order Function)是指接受「函式」作為參數的函式。Lambda 最常見的用途就是作為這類函式的引數:
| |
map()、filter()、sorted() 的完整說明(多序列、多條件排序、進階用法)請見 CH11:常用內建函式。
閉包(Closure)#
函式可以記住外部函式的變數:
| |
遞迴(Recursion)#
函式可以呼叫自己:
| |
實戰範例#
計算移動平均#
| |
快速排序#
| |