---
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