【Python】第3章第2回:引数と戻り値の基本
本記事では、Pythonの関数における引数と戻り値の基本的な使い方を解説します。引数を使ってデータを関数に渡し、戻り値を通じて結果を受け取る仕組みを学びます。
0. 記事の概要
この記事を読むメリット
- 引数と戻り値の仕組みを理解:データの受け渡し方法を学べます。
- 関数の応用力を向上:引数や戻り値を活用して効率的なコードを記述できます。
- 実践的なスキルを習得:具体的な例を通じて関数の使い方を深く理解できます。
この記事で学べること
- 引数の基本的な使い方
- 戻り値の基本的な使い方
- 実践的な関数の活用例
1. 引数の基本
1.1 引数とは何か?
引数とは、関数にデータを渡すための手段です。関数定義時に指定する引数を通じて、関数内部で処理に必要なデータを受け取ります。
# 引数を使った関数の例
def greet_user(name):
print(f"こんにちは、{name}さん!")
greet_user("太郎")
greet_user("花子")
動作解説
def greet_user(name):
: 引数name
を持つ関数を定義します。- 呼び出し時に
"太郎"
や"花子"
を渡します。 - 渡された引数を使用して
print
文が動作します。
1.2 デフォルト引数
引数にデフォルト値を設定することで、値が渡されなかった場合の動作を指定できます。
# デフォルト引数を持つ関数
def greet_user(name="ゲスト"):
print(f"こんにちは、{name}さん!")
greet_user()
greet_user("太郎")
動作解説
- 引数
name
のデフォルト値を"ゲスト"
に設定します。 - 引数が渡されない場合、デフォルト値が使用されます。
2. 戻り値の基本
2.1 戻り値とは何か?
戻り値とは、関数が処理した結果を呼び出し元に返す仕組みです。return
文を使って結果を返します。
# 戻り値を持つ関数
def square_number(number):
return number ** 2
result = square_number(4)
print(f"4の平方: {result}")
動作解説
square_number(number):
: 引数number
の平方を計算します。return
文を使って結果を呼び出し元に返します。- 返された値を変数
result
に格納し、出力します。
2.2 複数の戻り値を返す
関数は複数の戻り値をタプルとして返すことができます。
# 複数の戻り値を返す関数
def calculate(a, b):
return a + b, a - b
sum_result, diff_result = calculate(10, 5)
print(f"合計: {sum_result}, 差: {diff_result}")
動作解説
calculate(a, b):
: 2つの引数を受け取り、合計と差を計算します。return a + b, a - b
: 複数の値をタプルとして返します。- 返された値をそれぞれの変数に格納します。
3. 実践例:引数と戻り値を使ったプログラム
ユーザーからの入力を受け取り、合計と平均を計算するプログラムを作成します。
# 合計と平均を計算
def calculate_sum_and_average(numbers):
total = sum(numbers)
average = total / len(numbers)
return total, average
numbers = [10, 20, 30, 40]
total, average = calculate_sum_and_average(numbers)
print(f"合計: {total}, 平均: {average}")
動作解説
calculate_sum_and_average(numbers):
: 引数としてリストnumbers
を受け取ります。- リスト内の数値を合計し、平均を計算します。
- 計算結果を戻り値として返し、呼び出し元で使用します。
4. 練習問題
以下の課題に挑戦してみましょう。
- 2つの数値を受け取り、それらの最大値と最小値を返す関数を作成してください。
- 文字列をリストとして受け取り、文字数の合計を計算する関数を作成してください。
5. 練習問題の解答と解説
問1の解答例
# 最大値と最小値を返す関数
def find_max_and_min(a, b):
return max(a, b), min(a, b)
max_value, min_value = find_max_and_min(10, 5)
print(f"最大値: {max_value}, 最小値: {min_value}")
問2の解答例
# 文字数の合計を計算
def calculate_total_characters(strings):
return sum(len(s) for s in strings)
strings = ["Python", "楽しい", "学習"]
total_characters = calculate_total_characters(strings)
print(f"文字数の合計: {total_characters}")
6. まとめ
Pythonで引数と戻り値を使うことで、柔軟かつ効率的なプログラムを作成できます。基本を理解した上で、実践的な問題にも挑戦してください。