Python

戻り値をマスターしよう!Pythonのreturn文の使い方を簡単解説

Pythonを学習し始めたばかりの方で、returnについて疑問を抱いている方も少なからずいるでしょう。

「基本的なreturnの役割が知りたい」
「returnの基本的な使い方が知りたい」
「returnに関する有益な情報が知りたい」

このような悩みを抱えている方に、Pythonにおけるreturnの役割や基本的な使い方、さらにはprintとの違いまで説明します。


本ブログを運営しているTech Teacherは、業界初のプログラミング家庭教師サービスを提供しています。

その特徴は完全マンツーマン・フルオーダーメイド指導・30分ごとの利用が可能であるところです。

完全マンツーマン

Tech Teacherのマンツーマン指導なら理解できない箇所は何度も分かるまで説明を受けることができます。

フルオーダーメイド指導

Tech Teacherではあらかじめ決められたカリキュラムはありません。そのためご自身の学習状況や学びたいことに合わせた指導が可能です。

一括支払いなし

一般的なプログラミングスクールの料金体制はカリキュラムに対して一括払いですが、Tech Teacherでは利用した分だけの支払いとなります。そのため、大きな費用負担がなく気軽に始めることができます。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

そもそも関数とは?関数の種類も紹介!

return を詳しく説明する前に関数や関数の種類について説明します。
知っている人もいると思いますが、再度確認しておきましょう。

関数とは?

数学で「関数」を学習したときには、「y=f(x)」という形で出てきたのを覚えているでしょうか。これは、関数fに引数xを渡すと、戻り値としてyが返ってくることを表しています。

Python での「関数」も同様です。Python における関数は、ある特定の処理を1つにまとめたものになっています。

Python では関数を def 文 で記述します。
「 def 」とは define の略称で、その名前の通り関数を自分で「定義する」場合に使用します。

def 文で関数の定義を行う構文ルールは以下の通りです。

1 d e f 関数(引数1 , 引数2 , 引数3 , ・・・ ):
2     処理1
3     処理2
4     ・・・
5     r e t u r n 戻り値

関数において引数や戻り値は必須ではありません。引数も戻り値も必要ない場合は、以下のような簡素なコードで記述できます。

1 d e f 関数( ):
2     処理1
3     処理2

「( )」内には引数を入れることが可能です。引数を使うと、「このデータを使用して処理してください」と関数に値を渡すことが可能になります。

また、関数が処理を実行した後に返ってくる値を「戻り値」といいます。

def 文で定義した関数を呼び出すときは以下のように関数名を記述するだけで大丈夫です。

1 関数名( ):

関数名は自由に付けることが可能ですが、どのような処理を行う関数なのかすぐにわかるような関数名にすると良いでしょう。

関数の種類

関数において「引数」「戻り値」を省略できるケースでは記述する必要がありません。関数を大きく分けると以下の通り4種類に分類することができます。

  • 引数も戻り値もある関数
  • 引数はあるが戻り値はない関数
  • 引数はないが戻り値はある関数
  • 引数も戻り値もない関数

引数や戻り値についてはこちらの記事で詳しく解説しています。ぜひご覧ください!

https://www.tech-teacher.jp/blog/python-function/

Python における return について

ここでは、Python における return の役割や、return と print の違いについて説明していきますね。
それでは見ていきましょう。

 return の役割

returnの役割は、関数の呼び出し元に「値=特定の情報」を返すことです。

普通は何かしらの処理を関数にまとめます。そのとき、関数の実行結果を呼び出し元に通知するのが「 return文」です。

return文に処理が到達すると、関数の実行が完了して呼び出し元に制御が戻ります。また、 returnの戻り値にデータを指定すると呼び出し元にデータを返すとことができますよ。

 return の書き方

returnの記述方法を紹介します。

返り値がない場合は以下の通りです。

# 関数の定義
d e f f u n c t i o n( ):
    r e t u r n

# 関数の呼び出し

f u n c t i o n( )

返り値がある場合は以下の通りです。

# 関数の定義
d e f f u n c t i o n( ):
    r e t u r n 0

# 関数の呼び出し

X = f u n c t i o n( )

return と print の違いとは?

コンソールで完結する場合、return と print のどちらを使用しても結果は同じに見えますが、全くの別物ですのでしっかり理解して使い分けましょう。

コンソールとは以下のようなものです。

  • Windows:コマンドプロンプト
  • Mac:ターミナルなどのCUI

大前提として、return と print の役割は以下のようになります。

  •  return 値を返して関数を終了するためのもの
  •  print コンソールに出力するためのもの

実際にコードを使用して違いを説明しますね。

1 d e f   P y t h o n ( ):
2           p r i n t ( ‘ P y t h o n ‘ )
3
4 P y t h o n ( )
5
6 d e f   r e t u r n _ P y t h o n( ):
7           r e t u r n   ‘ P y t h o n ‘
8
9 p r i n t ( r e t u r n _ P y t h o n ( ) ) 

実行結果は以下の通りです。

1 P y t h o n
2 P y t h o n 

どちらの関数でも結果は「 Python 」を出力しますが、比較してみると return と print がまったくの別物だと分かりますね。

コンソール上で実行する場合、returnで出力することも可能なため混乱してしまう方も少なくないでしょう。

実際に、どのように使い分けるのか説明していきますね。

return は、戻り値を他の関数でも使用することができる利点があるので、出力するために使用するのではなく、他の関数で戻り値を使用するケースに活用するのがピッタリです。

実際のコードを交えて説明しますね。

1 d e f   H e l l o  ( ):
2           r e t u r n ( ‘ H e l l o ‘ )
3
4 d e f   W o r l d  ( ):
5           a = H e l l o ( ):
6 r e t u r n   a + ‘  ‘ + ‘ W o r l d ‘
7
8 p r i n t ( W o r l d ( ) ) 

実行すると以下のような結果になります。

1 H e l l o  W o r l d

このように「World()」で「Hello()」の戻り値である文字列「Hello」を再び用いることが可能です。

printについてはこちらの記事で詳しく解説しています。ぜひご覧ください!

Pythonの出力関数printの要点をつかむ!基礎〜応用まで徹底解説Pythonを学習し始めたばかりの方で、print関数についてつまずいてしまう人も少なからずいるでしょう。 「Pythonのp...

Python における return の基本的な使い方

ここからは実際にコードを交えてreturnの基本的な使い方や複数の戻り値を返す方法を説明しますね。

return の基本的な使い方

冒頭でも説明したように、return文は関数の戻り値を返すときに使用します。

例えば、引数を5倍にして返す関数は以下のように記述します。

1 d e f   q u i n t u p l e(x):
2 r e t u r n 5 * x 

複数の戻り値を返す

return文の戻り値はひとつの関数内に複数あっても問題ありません。

記述方法は return に続いて返したい値を「,」で区切るだけですので、簡単に複数の値を返すことができます。

1 d e f p l u s _ m i n u s _ m u l t ( A ,B ):
2    return A + B,A — B , A  *  B
3 p r i n t( p l u s _ m i n u s _ mult(12,7))
4 C ,D ,E= p l u s _ m i n u s _ mult(23,5)
5 p r i n t( C ,D ,E )

上記のコードでは、「A」「B」という2つの引数を関数plus_minus_mult()に渡し、和・差・積の値を戻り値に設定しています。

実行した結果は以下の通りです。

1 ( 19,  5,  84 )
2  28,  18,  115

実行結果「1」では、3つの値がreturnされて表示されており、全ての値が「( )」によって括られています。

返ってきた値をそのままprintで表示すると「( )」で括られていることから、タプルのデータ型として値が返っていることが分かりますね。

実行結果「2」では、「()」で括られるタプル型ではなく普通の数値となっています。

「C, D, E=plus_minus_mult(23, 5)」では、タプルとしてreturnされた「(28, 18, 115)」の各要素を変数「C」「D」「E」にそれぞれ代入しています。それから「print(C, D, E)」で各変数を出力しているので、普通の数値として表示されるのです。

実際には「C, D, E=(28, 18, 115)」のように、タプル要素の値が1つずつ変数に代入される多重代入がされています。

「Tech Teacherで!~家庭教師ならではの3つの魅力~」

本Blogを運営するプログラミング家庭教師Tech Teacherは以下のような疑問をすべて解決できるサービスです。

・Pythonの応用をもっと学びたいが、値段が高いスクールに通うのは気が引ける

・目的別に短時間の利用ができるサービスがあったらいいな

比較対象 Tech Teacher プログラミングスクールA社
受講形態
1対1

1対3~5
担当教師
担任教師
×
講座別の講師
カリキュラム
自分専用指導

全員指導
仕事・学業との両立
可能
×
不可能
メンター制度
担任教師

異なる担当
料金
授業分だけ
×
一括払い
初期費用
入会金
22,000円
×
一括払い
528,000円
シミュレーション
(3ヶ月90分の指導を週1で行う)

164,500円
×
528,000円

以下、Tech Teacherの3つの魅力を紹介します。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

1.効率的な学習スタイル

一人のためだけの指導~1対1の完全個別指導~

一般的なプログラミングスクールでは大人数の対面講義や、録画講義の視聴またはオンラインでの受講がメインです。そうなると学習しながら生じた疑問をすぐに聞くことができずに、先に進んでしまい内容をうまく理解できなかったり、作業がうまく進まなかったりします。

家庭教師であれば、マンツーマンのため自分の課題にだけ焦点を当てて指導を受けられるので、1回の授業を濃い時間にすることができます。

無駄のない学習~フルオーダーメイド~

Tech Teacherは一般的なプログラミングスクールと異なり、あらかじめ決められたコースやカリキュラム設定がありません。
一般的なプログラミングスクールのカリキュラムでは、自分が本当に学習したいことを学ぶのにいくつか他の講義を受けなければなりません

Tech Teacherでは生徒様の現状の習熟度・目的・期間に応じてお悩みにダイレクトに刺さる授業を展開し、最短で目標となるゴールを目指せます。

2.自分のペースで学習できる

必要な分だけ~従量課金モデル~

Tech Teacherでは、他にはない「短時間(30分ごと)」の利用が可能です!勉強していてちょっとわからないところ、プログラミング学習のモチベーション維持など様々な疑問や悩みを解決することができます。
授業を受けた分だけ後払いする料金体系(3,960円〜 / 30分)のため、必要な期間に必要な分だけ受講できます。

好きな時間で~相性のいい教師の紹介~

Tech Teacherではあらゆるニーズに対応できる教師陣がいるため、生徒様の希望条件に最適な教師を紹介します。

Tech Teacherを受講している方のほとんどが仕事をしている社会人の方です。TechTeacherの家庭教師なら受講日時や回数を、生徒様のご都合に合わせて柔軟に調整することができ、スキルだけでなく都合の良い時間で指導できる教師を選べます。

3.確実に身につく

挫折しない~担任教師の継続指導~

オンライン・オンデマンドの講義の視聴形態だと、学習に対するモチベーションの維持が課題となり、当初の予定よりも受講期間が伸びたり、挫折したりする恐れがあります。

Tech Teacherでは、担任教師が生徒と二人三脚で学習をするため、学習が大変なときも寄り添ったサポートを受けられます。

具体的には学習計画の管理や受講目的を明確にした上で中間目標を設定し、それに向けた学習の指導をすることでモチベーションの維持を図ります。

いつでも質問できる~チャットサポート(オプション)~

担当教師は授業の時間以外に、チャットサービスを利用して、自分で学習しているときに生じた疑問をすぐに質問して解決することができます。

Javaをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

Tech Teacherへのお問い合わせ

質問のみのお問い合わせも受け付けております。

まとめ

今回はPythonにおけるreturnの役割や基本的な使い方、printとの違いについて説明してきましたが、いかがでしたでしょうか。

今回の要点をまとめると以下のようになります。

  • 関数とは処理を1つにまとめたもの
  • 関数は「def 関数名」の形で定義する
  • returnは関数の呼び出し元に戻り値を返す
  • 複数の戻り値を返す場合には「,」で区切る
  • printはコンソールに出力する

returnは、戻り値を他の関数でも使用することができるため、他の関数で再利用する場合に便利な関数です。

使用している途中でつまずかないように、またreturnとprintの使い方を混同しないように、しっかり理解を深めておきましょう。

このブログでは他にもPythonについて解説しています。ぜひご覧ください

【Python】classの使い方を理解しよう!役割や実践方法を徹底解説! 「クラスって何だろう」 「クラスっていつ使うの」 そう思った方はいませんか?Pythonを学習すると何度も出会うのが...
Pythonのコマンドライン引数がわかる!渡し方・取得方法を分かりやすく解説Pythonを学ぶ上で必須となるのがコマンドライン引数。そんなコマンドライン引数ですが、初めてPythonを学習する人にはかなり難しいの...