Pythonの関数は、処理をひとまとまりにして再利用できる便利な仕組みです。同じ処理を何度も書く必要がなくなり、コードをシンプルで分かりやすく保つことができます。本記事では、関数の定義・引数・戻り値といった基本をやさしく解説します。
Pythonの導入についてはこちら。
Python入門:最初のプログラムを作って実行する方法 – Lean Data Office
Python環境構築のやり方|初心者向け完全ガイド – Lean Data Office
関数は「機械」のようなものだと考えることができます。例えばトースターのようなものです。パンを入れると、トーストが出てきます。つまり、パンに対して「焼く」という処理(関数)が適用されるわけです。
では、パンではなく菓子パンを入れたらどうなるでしょう?パンではありませんが、トースターはそれでも焼くことができます。ちゃんと焼きあがった菓子パンが出てきます。
ではレンガを入れたらどうでしょう?あるいは牛乳を入れたら?もしこのトースターがもっと良く作られていれば、こういった入力にも対応できるかもしれませんね。
ではコードに戻りましょう。
これまでにいくつかの関数を見てきました。例えば:
print('Hello, World!')

この print は関数です。関数には名前(print)があり、かっこの中に入力(引数)を書くことができます。これはパンをトースターに入れることに似ています。この場合の引数は "Hello, World!" です。
関数の定義
Pythonでは自分で関数を作ることもできます。
変数と似ていますが、def(definitionの略)というキーワードを使います。
def multiplyByThree(val):
return 3 * val
ここで:
valは引数(入力)- コロン(:)の後はインデントして処理を書く
returnは結果を返す
この関数を呼び出すと:
multiplyByThree(4)

12が返ってきます。
引数を複数にすることもできます:


値を返さない関数
関数は必ずしも値を返す必要はありません。
例えば:
a = [1,2,3]
def appendFour(myList):
myList.append(4)

この関数は値を返していませんが、リストを書き換えています。

実は print も値を返しません。
print("hello")
画面に表示するだけ
もし:
print(print('Hello, World!'))
とすると、

が表示されます。
これは print 関数が Noneを返している ためです。
補足:None
Noneとは、
- 特別な値
- 「値がない」ことを表す
他の言語の null や undefined に近いものです。
よって、
None + 1
はエラーになります。

関数は、プログラムの処理を整理し、再利用性を高めるための重要な要素です。引数を使うことで柔軟に入力を受け取り、returnによって結果を返すことができます。また、returnを使わない関数やNoneの扱いについて理解することも大切です。これらの基礎を押さえることで、より実践的なプログラム作成につながります。