このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】関数の共通する使い方

関数の共通する使い方

 ここでは、Pythonにおける「関数」の基本的な使い方を学びます。Pythonには print 関数をはじめ、多種多様な機能を持つ関数が用意されています。引数(ひきすう)を渡して呼び出し、戻り値を受け取る。この一連の流れは多くの関数で共通する仕組みです。ここでの解説を通じて、関数の引数と戻り値がどのように処理されるかを理解しましょう。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.関数の基本構造と呼び出し方法

 基本的に、関数は「関数名(引数)」という形で呼び出します。関数名は実行したい処理を指定するための識別子であり、引数はその関数が動作するために必要なデータとなります。

    関数名(引数)
+------------------+        引数を渡す         +------------------+
| 呼び出し元の     | ------------------------> |       関数       |
| プログラム       | <------------------------ |                  |
+------------------+        戻り値を返す       +------------------+

関数の基本構造

 関数は、特定の処理を再利用しやすい形でまとめたものです。関数を利用する際の基本的な構造は以下の通りです。

用語説明
関数名関数の処理を指定する名前。例: print, len, max
引数関数に渡すデータ。関数はこのデータを利用して処理を行う。
戻り値関数が処理結果として返す値。関数によっては戻り値がない場合もある。

関数の呼び出し方

 また、関数は呼び出し元から引数を受け取り、処理を実行して結果(戻り値)を返す仕組みになっています。下図のように、呼び出し元は関数に引数を渡し、関数は計算などの処理をして戻り値を返します。

関数の呼び出し方は、引数の数によって異なります。基本的な呼び出し方を以下に示します。

呼び出し方法説明
引数がない場合関数名()引数を渡さない場合の関数の呼び出し方法。
引数が1つの場合関数名(引数)引数1つを関数に渡す場合の呼び出し方法。
引数が複数ある場合関数名(引数1, 引数2)複数の引数をカンマで区切って渡す方法。

関数の呼び出しと引数

 Pythonで関数を使うときは、「関数名(引数)」 という形が基本です。たとえば print(引数) のように書くと、print 関数が引数を表示して処理を終了します。また、引数が複数必要な関数においては、カンマ(,)区切りで複数の値を渡すことも可能です。

下表は、よくある関数の呼び出しパターンをまとめたものです。

意味
関数名()print()引数がない場合
関数名(x)len('Hello')引数が1つの場合
関数名(x, y)max(10, 20)引数が2つ以上の場合

 対話モードでは print を省略して、ただ関数を呼び出すだけでその戻り値を表示することができます。

サンプルプログラム

引数がない場合

print()

実行結果

#改行される

引数が1つの場合

len('Hello')

実行結果

5

引数が2つ以上の場合

max(10, 20)

実行結果

20

2.戻り値の活用例

 関数は、呼び出し元のプログラムから引数を受け取り、何らかの処理を行って結果(戻り値)を返します。

 この仕組みにより、関数が返した値は、他の計算の一部として利用できるなど、柔軟に活用できます。たとえば、len関数を使えば、指定した文字列の長さを取得できます。

サンプルプログラム

len関数

print(len('Hello!World!') * 2)

実行結果

24

この場合、'Hello!World!' は 12文字なので、それを2倍した結果「24」が表示されます。

 また、max関数を利用して複数の数値のうち最大値を求め、その戻り値をさらに計算に利用することもできます。

max関数

print(max(10, 5, 30, 7) * 2)

実行結果

60

ここでは、max(10, 5, 30, 7) が 30 を返し、それを2倍した結果「60」が表示されます。

3.戻り値がない関数と None の扱い

 Pythonでは、関数が特に何も返さない場合、すなわち戻り値を意図的に設定していない場合、「何もない」ことを表す特殊な値 None が自動的に返されます。たとえば、print 関数は渡された引数を画面に表示するだけで、その後特定の値を返さないため、実際には None が戻り値として返されます。

print(print())

 このコードを実行すると、最初の内側の print() の実行により、空行が表示された後、外側の print 関数が内側の print() の戻り値である None を出力します。したがって、出力は以下のようになります。

サンプルプログラム

print(print())

実行結果

Hello
Hello, HelloPython

関数の共通する使い方のまとめ

 これまでに、関数は「関数名(引数)」という形で呼び出され、引数に渡されたデータに基づいて処理を行い、必要に応じて戻り値を返すという基本的な仕組みを説明しました。以下の表に、関数の基本要素をまとめています。

要素説明
関数の呼び出し関数名(引数) と書き、複数の引数はカンマで区切って渡す
戻り値関数が処理結果を返す値。戻り値は、他の式の一部として利用できる
戻り値がない場合意味のある値を返さない関数は、None を返す(例:print関数)

 この基本知識を身につけることで、Pythonの組み込み関数だけでなく、自作の関数も効果的に利用することができ、複雑な処理をシンプルに記述できるようになります。次のコンテンツでは、関数のキーワード引数と位置引数について詳しく解説していきます。