Pythonのreturnステートメント徹底解説!関数から値を返す方法
returnステートメントとは
Pythonにおける return [式] ステートメントは、関数の処理を終了させ、必要に応じて呼び出し元(caller)へ式の結果を返すための構文です。
重要なポイントとして、引数を指定しない return ステートメントは return None と同じ意味になります。つまり、明示的に何も返さない関数は、暗黙的に None を返していることになります。
基本的な構文
def 関数名(引数1, 引数2):
# 処理
return 式
サンプルコード
これまでの例では、関数が値を一切返していませんでした。次のように記述すると、関数から値を返すことができます。
#!/usr/bin/python
# 関数の定義
def sum(arg1, arg2):
# 2つの引数を加算して返す
total = arg1 + arg2
print("Inside the function : ", total)
return total
# sum関数を呼び出す
total = sum(10, 20)
print("Outside the function : ", total)
実行結果
上記のコードを実行すると、以下のような結果が出力されます。
Inside the function : 30 Outside the function : 30
動作のポイント
- 関数内で
print()を実行した時点で「Inside the function : 30」が表示されます。 return totalによって、変数totalの値(30)が呼び出し元に返されます。- 返された値は、呼び出し元の変数
totalに代入され、「Outside the function : 30」として表示されます。
知っておくと便利な豆知識
- returnで処理は終了する:
returnが実行された時点で関数は終了するため、それ以降のコードは実行されません。 - 複数の値を返せる: Pythonでは
return a, bのように書くことで、タプルとして複数の値を同時に返すことができます。 - returnを省略した場合:
returnを書かない関数や、returnに到達しない関数はNoneを返します。
-
Pythonのreturnステートメントとは?print()との違いをわかりやすく解説
Pythonのprint()関数は、文字列や数値をコンソールに出力(表示)するための関数です。一方、returnステートメントは、関数が呼び出されたときにその戻り値を画面に表示するものではありません。 returnステートメントの主な役割は次の2つです。 関数内で処理した結果(値)を、呼び出し元へ返すこと returnが実行された時点で、たとえそれが関数の最後の文でなくても、関数を即座に終了させること 値を返す関数は「実りある関数(fruitful function)」と呼ばれることがあります。また、多くの他のプログラミング言語では、値を返さない関数は「プロシージャ(procedure)」
-
Pythonで関数から別の関数を返す方法をわかりやすく解説
Pythonは第一級関数(first-class functions)をサポートしているプログラミング言語です。実際、Pythonにおけるすべての関数は第一級オブジェクトとして扱われます。 これは何を意味するのでしょうか。具体的には、以下のようなことが可能になります。 関数の中から別の関数を返す(returnする) 関数をリストや辞書などのコレクションに格納する 関数を、通常の変数やオブジェクトと同じように扱う さらに、関数の中で別の関数を定義し、それを返すことさえできます。これはクロージャ(closure)と呼ばれる強力なテクニックの基礎にもなる概念です。 サンプルコード:関数内で関数を