---
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
### 結束