Python超入門⑤ 関数で処理をまとめよう
def、引数、戻り値、デフォルト引数、変数のスコープを学び、処理を読みやすく分けます。
第5回では、処理へ名前を付けて再利用できる関数を学びます。
関数を作る
def greet():
print("こんにちは")
greet()
defの後ろに関数名を書きます。greet()と書くと、関数の中の処理が実行されます。
引数を受け取る
def greet(name):
print(f"こんにちは、{name}さん")
greet("Aoi")
greet("Ren")
関数へ渡す値を引数と呼びます。同じ処理を、値だけ変えて使えます。
戻り値を返す
def add(a, b):
return a + b
answer = add(3, 5)
print(answer)
returnを使うと、関数の外へ結果を返せます。
デフォルト引数
引数へ最初から値を用意できます。
def greet(name, message="こんにちは"):
print(f"{message}、{name}さん")
greet("Aoi")
greet("Ren", "おはよう")
2回目のように値を渡すと、最初に用意した値を置き換えます。
変数のスコープ
関数の中で作った変数は、基本的にその関数の中だけで使えます。
def sample():
number = 10
print(number)
変数を使える範囲をスコープと呼びます。必要な値は引数で渡し、結果はreturnで返すと関係が分かりやすくなります。
小さな練習
2つの数字を受け取り、大きい方を返すlarger関数を作ってください。
模範解答
def larger(a, b):
if a >= b:
return a
return b
answer = larger(12, 7)
print(answer)
解説
aがb以上ならaを返します。その時点で関数は終了するため、次のreturnが実行されるのはaよりbが大きい場合だけです。同じ値の場合はaを返します。
まとめ
- defで関数を作れます。
- 引数で値を渡し、returnで結果を返します。
- 関数を使うと、長い処理を役割ごとに分けられます。