Python for Beginners (16)|函式 (Functions)

Python 函式(Functions)入門教學

by KC
0 comment

本單元測驗:

程式設計師習慣用有效率的方式來編寫程式碼,最常見的方法之一就是將常用的功能寫在一個區塊當中並幫它命名,您無需在每次需要時輸入整段程式碼,只需鍵入其名稱即可, 這些命名的程式區塊稱為函式。在本篇文章中,我們將探索 Python 中的函式 (Functions) 並學習如何使用它。

1. 函式 (Functions)

函式 (Functions)是一段用來封裝任務的實用程式碼,而封裝是指用簡單的命令執行一系列步驟的方式。

我們試著利用下面製作蛋糕的過程來理解函式(Functions)的用途:

  • 將所有的指令及流程步驟封裝到一個叫做 Bake_Cake  函式中
  • 只要我們想製作蛋糕,不用關心具體細節,就可以使用 Bake_Cake 函式

函式用於結構化程式,將相同功能的程式獨立出來,僅在需要時呼叫使用。而程式設計師只要將函式寫好,可以利用此函式做相同動作,並可達到程式碼不重複。Python 函式可分為內建函式(built-in functions)自訂函式(user-defined functions)

2. 內建函式 (built-in functions)

Python 內建函式,除了 input() 及 print() 之外,還有許多常見的內建函式,例如取得長度的 len()、找最大值的 max() 等等。如果想要知道有那些內建函式可用,可利用 dir(__builtins__) 來列出所有內建函式的名稱。

範例 1:內建函式使用 – input()及print()

範例 2:利用dir(builtins)列出所有內建函式名稱

假如我們想知道某個函數的用法,可以使用 help() 查詢

範例 3:利用 help() 查詢 len 函式用法

3. 自訂函式 (user-defined functions)

因開發需求而自行建立的函式,例如自訂計算三角形面積、圓柱體體積等等。

3.1 函式 (Function) 語法

自訂函式架構:

  1. def (關鍵字):def 標記函式標頭的開始。
  2. function name(函式名稱):函式命名規則跟變數一樣。
  3. parameter (參數):我們透過這些參數將值傳遞給函式,它們是依情況可做選擇的。
  4. : (冒號):標記函式標頭的結尾。
  5. Docstrings (文檔字串):函式說明字串,用來描述函式功能,可利用help()來顯示說明內容,此部分是可選擇的。
  6. statements (敘述語句):由一個或多個有效的python敘述語句所組成,敘述語句必須有縮排(通常為4個空格)。
  7. return (返回):主要是用於從函式返回值,此部分是可選擇的。

範例 4:自訂「攝氏轉華氏」函式

範例 5:自訂「華氏轉攝氏」函式

範例 6:使用 help() 查詢函式用法

範例 7:自訂「計算圓面積」函式

範例 8:自訂「計算圓周長」函式

範例 9:根據參數決定回傳圓面積還是圓周長

範例 10:函式可根據需求傳回多個輸出值

3.2 變數範圍

  • 變數範圍可分為區域變數(local variables)全域變數(global variables)
  • 函式內都能夠使用此兩種類型的變數,但在函式外則只能使用全域變數

範例 11:函式外不能使用區域變數 ans

範例 12:區域變數及全域變數用法

3.3 lambda 函數

在 Python 中您可以使用 lambda 表達式來建立匿名函式(即沒有名稱的函式),而在語法最前面的 lambda 不是函式名稱,而是指令。lambda 表達式非常適合快速建立在程式碼以後不會用到的函式,lambda 函式的語法如下:
lambda arguments : expression

我們來比較一下函式的結構和 lambda 表達式的結構:

範例 13:區域變數

範例 14:區域變數

通常 lambda 函式會搭配 filter() 和 map() 這二個內建函式使用:

  • filter() 函式是用來從資料組中篩選出想要的資料,它需要二個參數,第一個是函式,第二個是資料組。
  • map() 函式的運作原理和 filter() 函式非常相似,它們都是利用一個指定的函式來處理資料組中的資料,最後得到一個新的資料組。

範例 15:利用 filter() 搭配 lambda

範例 16:利用 map() 搭配 lambda

本文中,我們討論了 Python 函式的用法,了解內建函式自訂函式的使用方式,同時也介紹非常好用的 lambda。希望本篇文章能幫助您理解 Python 中函式的觀念及重要性。並透過一些範例來進行動手練習,後續會持續分享 Python 相關學習文章給有興趣的初學者。

4. Python 練習

學習環境:Google Colab (學習請按我)

練習範例:有 (本文提供)

Quiz:有 (測驗請按我)

如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。

Related Posts

Leave a Comment

error: Content is protected !!