函式
2024年10月22日大约 2 分鐘
學習內容:
- 理解並使用函式(Function)
- 認識默認參數值(Default Parameter Values)
- 使用具名參數呼叫函式(Named Parameters)
函式的基本介紹
函式是將一段程式碼封裝起來,能夠在需要時重複使用,避免重複編寫代碼。常見的語法如下:
def 函式名稱(參數1, 參數2, ...):
# 函式內的程式碼
return 結果
範例:印三角形
這個範例利用函式列印出層數為 n
的三角形。
def print_triangle(n):
for i in range(1, n + 1):
print('*' * i)
# 呼叫函式,列印 5 層三角形
print_triangle(5)
輸出:
*
**
***
****
*****
範例:計算 1 + (1+2) + (1+2+3) + ...
這個範例計算一個特殊的和: 1 + (1+2) + (1+2+3) + ... + (1+2+...+n)
def special_sum(n):
total = 0
for i in range(1, n + 1):
total += sum(range(1, i + 1)) # 將 1 到 i 的和加入 total
return total
# 呼叫函式計算 n = 4 的結果
result = special_sum(4)
print(result) # 20
說明:n = 4
時,計算為:1 + (1+2) + (1+2+3) + (1+2+3+4) = 20
默認參數值(Default Parameter Values)
在定義函式時,可以為某些參數指定預設值,當函式被呼叫時若未傳入該參數,會使用默認值。
範例:
def greet(name="同學"):
print(f"你好,{name}!")
# 呼叫函式,使用默認值
greet() # 輸出:你好,同學!
# 呼叫函式,傳入自訂參數
greet("小明") # 輸出:你好,小明!
範例:
def count(end, sep=1):
for i in range(0, end+1, sep):
print(i, end=' ')
print()
# 呼叫函式,使用默認值
count(8) # 輸出:0 1 2 3 4 5 6 7 8
# 呼叫函式,傳入自訂參數
count(8, 2) # 輸出:0 2 4 6 8
具名參數呼叫函式(Named Parameters)
呼叫函式時,可以使用 具名參數 的方式傳入值,增加程式的可讀性。
範例:
def describe_pet(animal_type, pet_name):
print(f"我有一隻 {animal_type},牠的名字是 {pet_name}。")
# 使用具名參數呼叫
describe_pet(pet_name="Lucky", animal_type="狗")
輸出:
我有一隻 狗,牠的名字是 Lucky。
練習
- 輸入一數,判斷其是否為質數(質數是指大於1且只能被
1
和自己整除的數)。 - 輸入 m 和 n,找出 m 到 n 之間所有的質數的和。