前回までで、条件分岐 と 繰り返し処理 を学び、
だいぶ「プログラムらしいこと」ができるようになってきました。
しかし、少し複雑なプログラムになると、
同じ処理を何度も書くことが増えてきます。
そんな時に登場するのが 関数(function) です。
関数を使えば、「処理をひとまとめにして再利用できる」 ようになります。
🧠 関数とは?
関数は「命令のセットに名前をつけたもの」です。
たとえば、次のようなものです:
「水を沸かす」という処理を何度も書く代わりに、
一度だけdef boil_water():と定義して、
必要な時に呼び出す。
🧩 関数の基本構文
Pythonの関数は、次のように定義します。
def 関数名():
実行する処理
呼び出す時は 関数名() と書きます。
🔹 例1:単純な関数
def greet():
print("こんにちは!Pythonへようこそ。")
greet()
出力:
こんにちは!Pythonへようこそ。
💡
defは「define(定義する)」の略です。
関数を定義したら、呼び出さないと実行されません!
🎯 関数に「入力」を渡す(引数)
関数には「引数(ひきすう)」という入力を渡すことができます。
これにより、同じ関数でも動作を変えられます。
🔹 例2:名前を渡す関数
def greet(name):
print(f"こんにちは、{name}さん!")
greet("太郎")
greet("花子")
出力:
こんにちは、太郎さん!
こんにちは、花子さん!
関数に渡す値を 引数(parameter) と呼びます。
呼び出す側で指定する値を 実引数(argument) と呼ぶこともあります。
🧾 関数の「出力」を返す(戻り値)
関数の結果を呼び出し元に返したい時は、return を使います。
🔹 例3:計算結果を返す関数
def add(a, b):
return a + b
result = add(10, 5)
print(result)
出力:
15
💡
returnのあとは「返したい値」を書きます。print()のように出力するわけではなく、値を戻す だけです。
🔢 複数の引数と戻り値
関数は引数をいくつでも取れます。
また、複数の値を同時に返すこともできます。
🔹 例4:四則演算をまとめて返す
def calc(a, b):
add = a + b
sub = a - b
mul = a * b
div = a / b
return add, sub, mul, div
result = calc(8, 4)
print(result)
出力:
(12, 4, 32, 2.0)
戻り値が複数ある場合は タプル(カッコでまとめたデータ)になります。
🎨 例5:戻り値を個別に受け取る
def calc(a, b):
return a + b, a - b
x, y = calc(10, 3)
print("足し算:", x)
print("引き算:", y)
出力:
足し算: 13
引き算: 7
こうして「複数の値を分けて受け取る」ことも可能です。
🧩 デフォルト引数(初期値つき)
引数に初期値(デフォルト値)を設定しておくと、
引数を省略しても呼び出せるようになります。
🔹 例6:デフォルト値つき関数
def greet(name="ゲスト"):
print(f"こんにちは、{name}さん!")
greet()
greet("さくら")
出力:
こんにちは、ゲストさん!
こんにちは、さくらさん!
🔁 関数の中から関数を呼ぶ
関数の中で別の関数を呼ぶこともできます。
処理をさらに分けて整理できるようになります。
🔹 例7:関数を組み合わせて使う
def add(a, b):
return a + b
def double(n):
return n * 2
# addの結果をdoubleに渡す
result = double(add(3, 4))
print(result)
出力:
14
💡 関数を「部品」として組み合わせることで、
大きなプログラムをシンプルに設計できます。
🧠 応用:最大値を求める関数を作る
def get_max(a, b, c):
max_num = a
if b > max_num:
max_num = b
if c > max_num:
max_num = c
return max_num
print(get_max(10, 30, 20))
出力:
30
🧩 応用:平均点を求める関数
def average(scores):
total = sum(scores)
avg = total / len(scores)
return avg
result = average([80, 90, 70, 100])
print(f"平均点は {result} 点です。")
出力:
平均点は 85.0 点です。
💡
sum()はリストの合計を出すPython標準の関数です。len()は要素数を数える関数です。
🧩 応用:関数を使ってプログラムを整理する
def greet_user(name):
print(f"ようこそ、{name}さん!")
def show_menu():
print("1. 天気を見る")
print("2. ニュースを読む")
print("3. 終了")
def main():
name = input("お名前を教えてください:")
greet_user(name)
while True:
show_menu()
choice = input("番号を選んでください:")
if choice == "3":
print("またね!")
break
print("まだこの機能は準備中です。\n")
main()
出力例:
お名前を教えてください:太郎
ようこそ、太郎さん!
1. 天気を見る
2. ニュースを読む
3. 終了
番号を選んでください:3
またね!
💡
main()関数のように「全体の流れ」をまとめると、
プログラムが読みやすくなります。
📝 この章のまとめ
- ✅
defで関数を定義する - ✅
returnで結果を返す - ✅ 引数を渡して動作を変えられる
- ✅ デフォルト引数で柔軟に
- ✅ 関数の中から他の関数を呼び出せる
関数を使えるようになると、プログラムが一気に整理されます。


コメント