MENU

プログラミングの関数とは 使い方やメリットをわかりやすく解説

プログラミング 関数

プログラミングを学ぶときに、必ず出てくるのが「関数」という概念です。関数とは、プログラミングにおいて、何らかの処理をまとめて名前をつけたものです。関数を使うことで、コードの重複を減らしたり、わかりやすくしたり、柔軟にしたりすることができます。

この記事では、プログラミングの関数とは何か、どのように使うか、どんなメリットがあるかを、初心者にもわかりやすく解説します。関数の基本を理解して、プログラミングのスキルを高めましょう。

目次

関数とは何か

関数とは、プログラミングにおいて、何らかの処理をまとめて名前をつけたものです。関数には、以下の3つの要素があります。

  • 関数名:関数を呼び出すときに使う名前です。自分で決めることができますが、処理の内容がわかるようにつけるのが良いです。
  • 引数:関数に渡す値のことです。関数の中で使うことができます。引数は必要に応じて複数指定することができます。引数がない場合もあります。
  • 戻り値:関数の処理の結果を返す値のことです。関数を呼び出したところで使うことができます。戻り値がない場合もあります。

関数は、以下のような形で定義します。

def 関数名(引数):
    処理
    return 戻り値

関数を使うときは、以下のように呼び出します。

関数名(引数)

関数を呼び出すと、引数に渡した値をもとに、関数の中の処理が実行され、戻り値が返されます。

例えば、以下のような関数を定義してみましょう。

def add(x, y):
    z = x + y
    return z

この関数は、引数として渡された2つの値を足して、その結果を戻り値として返す関数です。関数名は「add」としました。引数は「x」と「y」としました。戻り値は「z」としました。

この関数を使ってみましょう。

result = add(3, 5)
print(result)

このコードを実行すると、以下のようになります。

8

関数「add」に「3」と「5」を引数として渡して呼び出しました。関数の中で、「x」に「3」、「y」に「5」が代入されます。そして、「z」に「x + y」、つまり「3 + 5」の結果が代入されます。その後、「z」の値が戻り値として返されます。戻り値は「result」に代入されます。最後に、「result」の値が表示されます。

このように、関数は、何らかの処理をまとめて名前をつけたもので、引数と戻り値を使って値をやりとりすることができます。

関数を使うメリット

関数を使うことには、以下のようなメリットがあります。

  • コードの重複を減らせる
  • コードのわかりやすさを向上させる
  • コードの再利用性を高める

それぞれ詳しく見ていきましょう。

コードの重複を減らせる

関数を使うことで、コードの重複を減らせます。同じような処理を何度も書く必要がなくなります。例えば、以下のようなコードがあるとします。

a = 3
b = 5
c = a + b
print(c)

d = 7
e = 9
f = d + e
print(f)

g = 11
h = 13
i = g + h
print(i)

このコードは、3つの組み合わせについて、それぞれ2つの値を足して、その結果を表示するという処理をしています。しかし、このコードは、同じような処理を3回繰り返しているので、冗長です。また、もし足し算の部分を別の計算に変えたいとしたら、3箇所も変更しなければなりません。

このような場合は、関数を使って、以下のように書くことができます。

def add(x, y):
    z = x + y
    return z

a = 3
b = 5
c = add(a, b)
print(c)

d = 7
e = 9
f = add(d, e)
print(f)

g = 11
h = 13
i = add(g, h)
print(i)

このコードは、足し算の処理を関数「add」にまとめています。そして、それぞれの組み合わせについて、関数「add」を呼び出して、結果を表示しています。このようにすると、コードの重複が減ります。また、足し算の部分を変えたいときは、関数「add」の中だけ変更すればよいので、手間が省けます。

コードのわかりやすさを向上させる

関数を使うことで、コードのわかりやすさを向上させることができます。関数には名前をつけることができますが、その名前には処理の内容がわかるようにするのが良いです。例えば、以下のような関数を定義してみましょう。

def say_hello(name):
    message = "Hello, " + name + "!"
    return message

この関数は、引数として渡された名前に対して、「Hello, 名前!」というメッセージを作って、戻り値として返す関数です。関数名は「say_hello」としました。この名前から、この関数が何をするのかがわかりやすいですね。

この関数を使ってみましょう。

result = say_hello("Alice")
print(result)

このコードを実行すると、以下のようになります。

Hello, Alice!

関数「say_hello」に「Alice」という名前を引数として渡して呼び出しました。関数の中で、「name」に「Alice」が代入されます。そして、「message」に「Hello, Alice!」という文字列が代入されます。その後、「message」の値が戻り値として返されます。戻り値は「result」に代入されます。最後に、「result」の値が表示されます。

このように、関数は、名前によって処理の内容がわかるようになります。コードを読むときに、関数の中身を見なくても、関数名だけで何をしているのかが推測できます。また、関数名を変えることで、コードの意図を変えることもできます。例えば、関数「say_hello」を「say_goodbye」と変えたら、メッセージも「Goodbye, 名前!」になりますね。

コードの再利用性を高める

関数を使うことで、コードの再利用性を高めることができます。関数は、一度定義すれば、何度でも呼び出すことができます。また、引数を変えることで、同じ関数でも異なる結果を得ることができます。例えば、以下のような関数を定義してみましょう。

def square(x):
    y = x ** 2
    return y

この関数は、引数として渡された値の2乗を計算して、戻り値として返す関数です。関数名は「square」としました。引数は「x」としました。戻り値は「y」としました。

この関数を使ってみましょう。

result1 = square(2)
print(result1)

result2 = square(3)
print(result2)

result3 = square(4)
print(result3)

このコードを実行すると、以下のようになります。

4
9
16

関数「square」を3回呼び出していますが、引数に渡す値を変えています。そのため、戻り値も異なります。このように、関数は、同じ処理を異なる値に対して行うことができます。

まとめ

この記事では、プログラミングの関数とは何か、どのように使うか、どんなメリットがあるかを、初心者にもわかりやすく解説しました。関数は、プログラミングにおいて、非常に重要な概念です。関数を使うことで、コードの重複を減らしたり、わかりやすくしたり、再利用性を高めたりすることができます。関数の基本を理解して、プログラミングのスキルを高めましょう。

目次