Skip to content

7. 関数の定義と利用

プログラミングにおいて、関数は繰り返し現れる処理を一箇所にまとめて管理するために非常に便利なツールです。ここでは Python における関数の定義と利用について詳しく学んでいきましょう。

7.1 関数の基本概念

関数とは、特定の処理を一つにまとめたもので、必要に応じて呼び出して使うことができます。これにより、コードの再利用性が高まり、見通しが良くなります。

7.1.1 関数の基本的な構造

Python での関数定義の基本構造は以下の通りです。

def 関数名(引数1, 引数2, ...):
    # 処理内容
    return 戻り値

関数はdefキーワードで開始され、関数名、任意の数の引数、そしてreturn文を用いて戻り値を指定します。

7.2 関数の定義と実行

例として二つの数を加算し、その結果を返す関数を作成してみましょう。

7.2.1 シンプルな関数の例

次の例では、add_numbersという関数を定義して、二つの数を加算します。

def add_numbers(a, b):
    sum = a + b
    return sum

# 関数の呼び出し
result = add_numbers(3, 5)
print(result)  # 出力: 8

これにより、数値の加算処理を簡潔に行うことができます。

7.3 引数と戻り値

関数には必要に応じて引数を渡し、その値を利用して処理を行います。処理の結果を呼び出し元に返すためには戻り値を指定します。

7.3.1 複数の戻り値

Python では複数の戻り値を返すことも可能です。例えば、最大値と最小値を同時に返す関数を考えてみましょう。

def find_min_max(numbers):
    min_value = min(numbers)
    max_value = max(numbers)
    return min_value, max_value

# 関数の呼び出し
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
min_val, max_val = find_min_max(numbers)
print(f"最小値: {min_val}, 最大値: {max_val}")

この例では、find_min_max関数がリスト内の最小値と最大値を同時に返します。

7.4 デフォルト引数とキーワード引数

関数を定義する際に引数のデフォルト値を設定したり、キーワード引数を使って関数を呼び出すことができます。

7.4.1 デフォルト引数

次の例では、第二引数のデフォルト値を指定しています。

def greet(name, message="こんにちは"):
    print(f"{message}, {name}!")

greet("太郎")          # 出力: こんにちは, 太郎!
greet("花子", "こんばんは")  # 出力: こんばんは, 花子!

7.4.2 キーワード引数

キーワード引数を使うことで、特定の引数に対して値を指定することができます。

def student_info(name, age, subject):
    print(f"名前: {name}, 年齢: {age}, 専攻: {subject}")

student_info(age=21, subject="数学", name="太郎")

このように、引数の順序を気にせずに関数を呼び出せるのがキーワード引数の利点です。

7.5 スコープとローカル変数

関数内で定義された変数は、関数の外部から直接アクセスすることはできません。これがローカル変数と呼ばれるものです。

7.5.1 ローカル変数の例

def example_function():
    local_variable = "これはローカル変数です"
    print(local_variable)

example_function()
# print(local_variable)  # これはエラーになります

local_variableexample_function内でのみアクセス可能です。

このセクションでは、Python における関数の定義と利用方法について学びました。関数を使いこなすことで、より効率的で理解しやすいコードを書く手助けになりますので、ぜひ活用してみてください。