見出し画像

Python(5) 関数

Pythonの関数とは?

関数は、特定の処理をまとめて名前を付けたものです。関数を使うと、繰り返し使う処理を簡単に呼び出せるようになり、プログラム全体を整理して見やすくすることができます。

例えば、「数値の足し算を行う処理」があったとします。この処理を関数として定義しておけば、必要なときに簡単に呼び出して使えます。

1. 関数の定義と呼び出し

関数は次のように定義します。

def 関数名(引数1, 引数2, ...):
   # 処理内容
   return 結果  # 必要なら処理結果を返す


例1: 足し算をする関数

def add(a, b):
   return a + b


関数の呼び出し

result = add(3, 4)  # 3と4を足し算する
print(result)  # 出力: 7


この例では、add という名前の関数を定義し、2つの数を足し算しています。add(3, 4) を呼び出すことで、3と4が引数として渡され、その結果である7が戻り値として返されます。

2. 引数とは?

関数には、引数を渡して、関数が受け取った値を元に処理を行うことができます。引数は、関数の定義時に指定する変数で、関数の呼び出し時に実際の値を渡します。

例2: 名前と年齢を表示する関数

def greet(name, age):
   print(f"こんにちは、{name}さん。あなたは{age}歳です。")

greet("太郎", 30)  # 名前と年齢を渡す


出力:

こんにちは、太郎さん。あなたは30歳です。


この例では、greet 関数が name と age という2つの引数を受け取り、それを使ってメッセージを表示しています。

3. 戻り値とは?

関数は、処理が終わった後に結果を返すことができます。これを「戻り値」と言います。戻り値があることで、その結果を他の部分で利用できます。

例3: 掛け算をする関数

def multiply(a, b):
   return a * b

result = multiply(5, 6)  # 5と6を掛け算
print(result)  # 出力: 30


説明:

1. multiply(5, 6) で、5と6が引数として渡されます。
2. 関数内で掛け算が行われ、その結果である30が return 文で返されます。
3. 呼び出し元では、戻り値として返された30が result に代入されます。

4. 引数の種類

Pythonでは、関数の引数に対して柔軟な使い方が可能です。

a) 位置引数

位置引数は、引数の順番によって値が渡されます。例では、最初の引数が name に、2つ目の引数が age に渡されます。

def greet(name, age):
   print(f"こんにちは、{name}さん。あなたは{age}歳です。")

greet("太郎", 25)


b) デフォルト引数

デフォルト引数を使うと、関数呼び出し時にその引数を省略できます。省略された場合、デフォルトの値が使われます。

def greet(name="ゲスト"):
   print(f"こんにちは、{name}さん。")

greet()  # 引数なしで呼び出し
greet("花子")  # 名前を渡して呼び出し


出力:

こんにちは、ゲストさん。
こんにちは、花子さん。


c) 可変長引数(*args)

引数の数が不定の場合、*args を使うことで、複数の値を1つのタプルとして受け取ることができます。

def sum_all(*numbers):
   return sum(numbers)

print(sum_all(1, 2, 3, 4, 5))  # 出力: 15


説明:

• sum_all 関数は、任意の数の引数を受け取ります。
• 関数内では、引数全体をタプルとして扱い、その合計を計算しています。

5. 応用例: BMI計算

実生活で役立つ関数の例として、BMI(体格指数)を計算する関数を作ってみましょう。

例4: BMIを計算する関数

def calculate_bmi(weight, height):
   bmi = weight / (height ** 2)
   return bmi

my_bmi = calculate_bmi(70, 1.75)  # 体重70kg、身長1.75mの人のBMIを計算
print(f"あなたのBMIは {my_bmi:.2f} です")  # 結果を小数点2桁まで表示


出力:

あなたのBMIは 22.86 です


この例では、体重と身長を使ってBMIを計算し、その結果を返しています。関数の使い方として、具体的な目的に応じた実用例です。

6. 複数の戻り値

Pythonの関数は、1つだけでなく複数の戻り値を返すことができます。これはタプルを使うことで実現できます。

例5: 足し算と引き算の結果を返す関数

def calculate(a, b):
   sum_result = a + b
   diff_result = a - b
   return sum_result, diff_result  # 2つの結果を返す

sum_value, diff_value = calculate(10, 3)
print(f"足し算の結果: {sum_value}")  # 出力: 足し算の結果: 13
print(f"引き算の結果: {diff_value}")  # 出力: 引き算の結果: 7


説明:

• calculate(10, 3) では、足し算の結果と引き算の結果がそれぞれ sum_value と diff_value に格納されます。
• 関数から複数の値を返すことで、1回の呼び出しで複数の処理結果を得られます。

まとめ

1. 関数の定義:def で関数を定義し、引数を使って処理を行い、結果を return で返します。
2. 引数の柔軟性:位置引数、デフォルト引数、可変長引数などを使い、さまざまな方法でデータを渡せます。
3. 戻り値:関数の処理結果を呼び出し元に返すことができ、複数の値も返すことが可能です。
4. 実用的な例:BMI計算のように、日常生活でも役立つ関数を作って理解を深めることができます。

いいなと思ったら応援しよう!