Python 的函式應用 – First-Class Function in Python
首先很快說明一下什麼是First-Class object(一級物件):
- 可以被當參數傳遞的
- 可以被回傳的
- 可以賦值給變數
- 可以以資料結構儲存
一級函式(First Class Function)
Python的物件型別如: int、float、string、tuple、list都屬於一級物件,function也是其中之一
高階函式(Higher Order Function)
- 可以接收function當參數,或
- 回傳的type是function
map
, filter
docstring
docstring是程式碼不是註解,用意是替你的方法加上一段說明,根據PEP257的定義,加在function第一行的字串被視為docstring
1 2 3 4 5 6 |
def kos_root(): """Return the pathname of the KOS root directory.""" global _kos_root if _kos_root: return _kos_root |
另外一種加說明的的方式,根據PEP3107所定義的function annotation
1 2 3 4 5 |
def compile(source: "something compilable", filename: "where the compilable thing comes from", mode: "is this a single statement or a suite?"): # do something |