函式用於結構化程式,將需要重複用到的功能獨立出來,透過函式的呼叫,傳入資料與回傳處理後的資料。可以減少相同程式碼的出現次數,並且提高可讀性和維護性。
方便團隊共同開發系統,其他人如果想使用這個函式只需要知道輸入輸出就可以了,不需要詳細了解內部的細節。
函式可以接收任何數量與型態的輸入參數,並回傳任何數量與型態的輸出結果。
今天要來繼續介紹函式的使用方法!
*args 和 **kwargs 運算子
*args 運算子:當我們需要傳入大量的參數時,如果參數太多會讓可讀性變差,這時就可以用 *
來把參數都整成一組的。
這個方法會把參數用 tuple
的形式打包
**kwargs 運算子:用 dict
的形式來打包,所以一定要使用關鍵字參數(Keyword Argument),才有辦法對應到 dict
的 key
跟 value
。
函式類型
無回傳值:沒有加上 return
的話只會單純執行函式,但是他還是會回傳一個 None
回到呼叫端,如果有用一個變數來接收這個值的話
有回傳值:在函式內加上 return
會把結果傳回給呼叫端
Docstrings:對於 python 而言,程式的可讀性很重要,所以我們可以在函式的開頭加上一個字串來說明這個函式的細節,方便其他人查看時能更快進入狀態。
使用 help()
可以把函式中的 Docstrings 列印出來
區域變數(Local Variable)及全域變數(Global Variable)
區域變數(Local Variable):只在函式內定義的變數稱為區域變數,只有在函式內可以使用,所以在函式外 print
就會出錯,如下圖。
全域變數(Global Variable):只要是同一個 python 的檔案就可以使用
讀取會讀取到全域變數
如果想要在函式內改變全域變數可以使用 global
待續...