--- title: ch09. Python 函式基礎:定義並呼叫函式 By 彭彭 tags: 彭彭, 學習, 筆記 --- # 影片大綱 1. 定義函式 1.1 使用 def 建立函式 1.2 參數名稱列表 2. 呼叫函式 2.1 呼叫函式的語法 2.2 給定參數的資料 3. 回傳與回傳值 3.1 使用 return 結束函式 3.2 使用 return 定義回傳值 3.3 呼叫函式後,如何串接回傳值 4. 函式的目的:包裝需要重複利用的程式碼。 5. 參數的目的:替函式加入更多彈性。 6. 回傳值的目的:將函式內部的資料傳遞出來。 # 影片 {%youtube 7qKFvUVpQXg %} --- # 筆記 :::danger return 和函式內部的 print 是不一樣的。 ::: ## 函式 就是就是程式區塊,把常用的程式碼包裝起來。 程式碼包裝在一個區塊,方便隨時呼叫。便於未來要重複利用。 定義 > 呼叫 要先定義(建立)函式,然後才能呼叫(使用)函式。 ### 定義函式 基本語法 ```{python} def 函式名稱(參數名稱): 函式內部的程式碼 ``` :::danger 函式名稱不能是中文、數字開頭。 必須是英文。 ::: **範例:** ```{python} # 定義一個印出 Hello 的函式 def sayHello(): print("Hello") ``` ```{python} # 定義可以印出任何訊息的函式 # msg 就是變數。 def say(msg): print(msg) ``` ```{python} # 定義一個可以做加法的函式。 def add(n1, n2): # 逗號後的空格可以不用。 result=n1+n2 print(result) ``` ### 呼叫函式 基本語法 ```{python} 函數名稱(參數真正的資料) ``` :::info 參數讓函式有彈性。 ::: **範例:** ```{python} # 定義一個印出 Hello 的函式 def sayHello(): print("Hello") # 呼叫上方定義的函式 sayHello() ``` ```{python} # 定義可以印出任何訊息的函式 def say(msg): print(msg) # 呼叫上方定義的函式 say("Hello Function") say("Hello Python") ``` ```{python} # 定義一個可以做加法的函式。 def add(n1, n2): # 逗號後的空格可以不用。 result=n1+n2 print(result) # 呼叫上方定義的函式 add(3, 4) add(7, 8) ``` ## 回傳值 基本語法 :::info 有縮排代表屬於這個函式。 ::: :::danger return 會把函式強制結束。 寫在最後面跟不寫是一樣的 ::: ```{python} def 函式名稱(參數名稱): 函式內部的程式碼 return # 結束函式,回傳 None ``` ```{python} def 函式名稱(參數名稱): 函式內部的程式碼 return 資料 # 結束函式,回傳「資料」 ``` :::info 資料: 如數字、字串、布林值、物件、列表、字典。 ::: **範例:** ```{python} # 函式回傳 None def say(msg): print(msg) return # 呼叫函式,取得回傳值 value=say("Hello Function") print(value) # 印出 None ``` ```{python} # 函式回傳字串 Hello def add(n1, n2): # 逗號後的空格可以不用。 result=n1+n2 return "Hello" # 呼叫函式,取得回傳值 result=add(3, 4) print(result) # 印出 Hello ``` ```{python} # 函式回傳 n1+n2 的結果 def add(n1, n2): # 逗號後的空格可以不用。 result=n1+n2 return result # 呼叫函式,取得回傳值 result=add(3, 4) print(result) # 印出 7 ``` --- ## YT網友留言 ```{python} def calculate(min,max): sum=0 for x in range(min,max+1): sum=sum+x print(sum) min=input("請輸入數字1:") min=int(min) max=input("請輸入數字2:") max=int(max) calculate(min,max) ``` --- # END