プログラミング

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で結果を返します。
  • 関数を使うと、長い処理を役割ごとに分けられます。

前の記事:Python超入門④ while文とfor文を使おう

次の記事:Python超入門⑥ リストと辞書を使おう

← 記事一覧へ戻る