到目前為止,我們已經學會了Python的基本型態、資料結構、迴圈以及邏輯判斷。今天,我們要跟大家分享如何自製函數!
為什麼要自製函數呢?在Python裡面,自製函數是相當好用的一個功能,我們可以把我們想要做的事情,寫在一個函數裡,然後當我們有不同的資料時,可以重複呼叫這個函數,這個函數就會自動幫我們針對不同的資料,做相同我們想要做的事情。所以自製函數這個功能,可以說是相當的客製化,非常實用。
(一) 建構函數
在Python中,要建構函數相當簡單,只要先輸入”def 自訂函數名稱(參數1,參數2,…,參數n):”,然後從第二行開始寫我們想要做的事情,就完成了!
在此有兩件事情要提醒大家。第一,套入Python的邏輯,第二行開始請記得縮排,縮排的內容才代表在這個函式裡面唷!第二,函數名稱請勿跟Python現有的一些函式名稱一樣噢! 怎麼判別呢? 當顏色變了,你自然就知道這個名稱不可以用,請更改名稱唷!
現在,讓我們一起來看幾個小例子吧!
(二)函數結合迴圈跟邏輯判斷
接下來,我們一起挑戰看看如何應用先前學過的迴圈跟邏輯判斷,寫出找出一個數列裡面最大值的函數。
有了這個my_max()以後,我們就可以一值使用這個函數來找出一組數列中的最大值唷!而我們也可以建立其他的重要函數,就可以一值重複使用囉!
小作業:挑戰看看寫個my_min()函數,找出一組數列的最小值。
(三)print 與 return 的差別
細心的讀者會發現,我們在(一)中回傳結果用的是”print”,而在(二)中用的是”return”,這兩者有什麼差別呢?
“print”顧名思義,就是把結果印出來,所以印出來的結果是不屬於任何型態的,也就是說,如果你的function最後的回傳是印出結果,那就是最終結果了!我們沒辦法對這個結果做其他的應用,如加減乘除之類的運算。如果我們還想對這個結果做運算怎麼辦呢?那請在function最後改用”return”,也就是回傳某個值的意思!讓我們直接來看以下這兩個例子吧!
讓我們來看看,當我們改用return時,會發生什麼事情呢?
(四)把小專案包裝成函數
還記得我們一起寫的猜數字遊戲嗎?今天,我們要把它直接寫成函數,使用者可以直接在函數中寫入答案,參與者就可以猜答案了!
到這邊,相信大家已經發現函數的妙用囉!未來我們有很多很多的工作,都會使用到函數唷!有空時,別忘了挑戰看看今天的小作業,明天公布解答唷!