--- title: 9.Python 函式基礎:定義並呼叫函式 By 彭彭 tags: 學習, 紀錄 --- # 9.Python 函式基礎:定義並呼叫函式 By 彭彭 {%youtube7qKFvUVpQXg %} ### 函式 ### 函式:程式碼包裝在一個區塊中,方便隨時呼叫使用 #### 程式中使用函式: ##### 1:定義函式:要先定義(建立)函式 ##### 2:呼叫函式:才能呼叫(使用)函式 ### ㄧ.定義函式 * 基本語法 def 函式名稱(參數名稱): 函式內部的程式碼 --- 程式範例 def=define 1. 定義一個印出Hello的函式 (把Hello印出來 def sayHello(): print("Hello") 2. 定義可以印出任何訊息的函式 (把參數印出來) def say(msg): (msg可自行取名是參數) print(msg) 3. 定義一個可以做加法的函式 def add(n1, n2): (有兩個參數 用逗號隔開) result=n1+n2 print(result) ----- ### 二.呼叫函式 * 基本語法 函式名稱(參數資料) --- | Column 1 | Column 2 | Column 3 | | -------- | -------- | -------- | | Text | Text | Text | 程式範例 1. 定義一個印出Hello的函式 (把Hello印出來) def sayHello(): print("Hello") 呼叫上方定義的函式 sayHello() (呼叫後會跑到函式的裡面) 2. 定義可以印出任何訊息的函式 (把參數印出來) def say(msg): (msg可自行取名是參數) print(msg) 呼叫上方定義的函式 say("Hello Function") say("Hello Python") 參數讓每一次呼叫有彈性 3. 定義一個可以做加法的函式 def add(n1, n2): (有兩個參數 用逗號隔開) result=n1+n2 print(result) 呼叫上方定義的函式 add(3,4) add(7,8) ### 三.回傳值 * 基本語法 函式裡面 如果有return 就會強制結束 1. def 函式名稱(參數名稱) 函式內部的程式碼 return #結束函式,回傳None 2. def 函式名稱(參數名稱) 函式內部的程式碼 return 資料(數字 字串 布林值 列表 字典 物件) #結束函式,回傳『資料』(回傳值) --- 程式範例 1. 函式回傳 None def say(msg): print(msg) return (後面沒有寫東西就會回傳None) 呼叫函式,取得回傳值 value=say("Hello Function") print(value) > None 函式呼叫的結果就是回傳值 2. 函式回傳 Hello def add(n1, n2): (有兩個參數 用逗號隔開) result=n1+n2 return "Hello" 呼叫函式 取得回傳值 value=add(3,4) print(value) >Hello 印出Hello 3. 函式回傳 n1+n2結果 def add(n1, n2): (有兩個參數 用逗號隔開) result=n1+n2 return result(return加法的結果 呼叫函式 取得回傳值 value=add(3,4) print(value) >7 印出7 return 從函式內部帶出結果 --- ### 練習 函式內部的程式碼,若是沒有做函式呼叫 就不會執行 1. 定義函式 def multiply(): print(3*4) 呼叫函式 函式的名稱+小括號 multiple() >12 2. def multiply(n1,n2): print(n1*n2) 呼叫函式: 函式的名稱+小括號 multiple(3,4) multiple(10,8) >12 >80 3. def multiply(n1,n2): print(n1*n2) 呼叫函式: 函式的名稱+小括號 value=multiply(3,4) print(value) >12 >Nope 4. def multiply(n1,n2): print(n1*n2) return 10 呼叫函式: 函式的名稱+小括號 value=multiply(3,4) print(value) >12 >10 5. def multiply(n1,n2): print(n1*n2) return n1*n2 呼叫函式: 函式的名稱+小括號 value=multiply(3,4) print(value) >12 >12 6. def multiply(n1,n2): return n1*n2 呼叫函式: 函式的名稱+小括號 value=multiply(3,4) print(value) >12 7. def multiply(n1,n2): return n1*n2 呼叫函式: 函式的名稱+小括號 value=multiply(3,4)+ multiply(10,5) print(value) >62 8. 1+2+3..10 sum=0 for n in range(1,11): sum=sum+n print(sum) >55 9. 程式的包裝 def calculate(): sum=0 for n in rnge(1,11): sum=sum+n print(sum) calculate() >55 10. 函式可用來做程式的包裝:同樣的邏輯可以重複利用 def calculate(): sum=0 for n in rnge(1,11): sum=sum+n print(sum) calculate() calculate() >55 >55 11. 程式包裝:透過參數 把世子變豐富 def calculate(max): sum=0 for n in rnge(1, max-1): sum=sum+n print(sum) calculate(10) calculate(20) >55 >210 ### 結束