Functions
有的人翻譯為函數, 有的人稱為函式, 英文叫Functions. 函數是Python的靈魂, 其抽象化的思維, 讓函數產生了五花八門的變化, 不好學, 但功能極強. 這是在一般強型語言中所看不到的.
抽象化
人類常常使用抽象的名詞來表達某種意思. 比如高興, 悲傷, 這只是人的一種感覺, 無法量化. 所以在教小朋友這種心裏的感覺時, 往往要花上一段比較長的時間才教的會.
偏偏數學中, 抽象是常用到的概念. 比如計算 1+2+3+…+100, 這種計算數列的和, 寫起來相當不方便, 於是數學家就發明了∑ 符號, 寫成如下
100
∑n
n=1
上述符號就是一種抽象化的觀念, 這種記法非常強大, 因為我們可以繼續擴展成如下
100
∑(n2+1)
n=1
還原後就為如下
(1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + … + (100 x 100 + 1)
借由抽象化, 我們就不用關心計算的過程, 只需關注在問題的思考上. 太多數的人, 對抽象通常較難理解, 這也是為什麼那麼多人數學怎麼學也學不會的原因.
歹勢吼, 函數就是程式碼中最基本的抽象化產物.
內建函數
Python提供很多內建的函數供我們使用. 這是個好消息, 因為我們只需知道調用什麼函數, 傳入什麼參數, 就可得到什麼結果.
但壞消息呢?? 我那有那麼多的腦容量去記得那麼多的函數跟參數啊!!
還好, 可參考如下網
https://docs.python.org/3/library/functions.html
常見的函數如 abs, int, float, str, max, hex
置換函數名稱
a=abs
print(a(-100))
老實說, 一開始會覺的怎麼會有這麼智障的設計. 原來, 這是為了把函數傳入參數而設計的. 也就是函數指標的觀念. 待日後再解說.
自訂函數
需使用def定義自訂函數, 如下所示, 輸入函數名, 參數, return值. 特別注意
1. 需定義於使用之前, 否則會出現未定義的函數錯誤
2. 沒有返回值時, 可以不用寫return, 也可寫成, return None, 或return即可
