Pythonの関数の戻り値に関して解説していきます。戻り値にはreturn文を使いますが、それがあるときとないときの違いや、複数定義する方法を2つ消化します。
もし、関数の基本的な内容が心配な方は以下の記事をご確認ください。
プログラミングの勉強での山場の一つであるPythonの関数の解説をしていきます。引数・戻り値の解説から組み込み関数一覧まで紹介しています。 関数とは? 関数とは入力値を処理してある値を出力する装置のことを言います。ブラックボッ[…]
戻り値あり
戻り値はreturn文を使います。
1 2 3 4 5 6 7 8 |
def sample(n): return n * 10 print(sample(6)) #出力結果 60 |
引数を10倍した値が戻り値になっています。戻り値を表示するにはprint関数を使います。
以下のように戻り値を変数に代入することができます。
1 2 3 4 5 |
x = sample(6) print(x) #出力結果 60 |
もちろん引数が6なので60が出力されています。戻り値があるときとないときでは変数に代入できるかが異なります。
戻り値なし
次に戻り値がない場合です。return文がない代わりに関数の実行文にprint関数を含んでいます。なので4行目のように関数を実行するだけで「60」と表示まで行えます。
1 2 3 4 5 6 7 |
def sample(n): print(n * 10) sample(6) #出力結果 60 |
戻り値がないときは以下のように変数に代入することができません。
1 2 3 4 5 6 |
x = sample(6) print(x) #出力結果 60 None |
1行目の「sample(6)」が実行されて「60」が表示されていますが、2行目のprint関数では「None」が出力されています。
このように、return文がないときの戻り値が「None」として扱われます。
戻り値を複数書く方法
- カンマで区切るとタプル
- リスト・辞書を使う
- 条件分岐を使う
カンマで区切るとタプル
1 2 3 4 5 6 7 8 |
def sample(n): return n, n + 1, n + 2 print(sample(6)) #出力結果 (6, 7, 8) |
return文で戻り値をカンマで区切ると自動的にタプルに格納してくれます。以下のように戻り値をタプルで定義しているのと同じです。
1 2 3 4 5 6 7 8 |
def sample(n): return (n, n + 1, n + 2) print(sample(6)) #出力結果 (6, 7, 8) |
リスト・辞書も使える
タプルが使えるということはリストや辞書も戻り値に設定できます。このようにコンテナを利用することで複数の戻り値に対応できるわけです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
def sample_list(n): #リストに格納 return [n, n + 1, n + 2] print(sample_list(6)) #出力結果 [6, 7, 8] def sample_dic(n): #辞書に格納 return {'a' : n, 'b': n + 1, 'c': n + 2} print(sample_dic(6)) #出力結果 {'a': 6, 'b': 7, 'c': 8} |
プログラミングではデータを扱いますが、たくさんのデータを一つ一つ変数に代入しておくのは大変ですし、見にくいコードになってしまいます。 そんな不安を解消するのがコンテナです。今回はPythonのコンテナ3種類「リスト・タプル・辞書」の[…]
条件分岐のif文を使う
次は戻り値を条件分岐で分けてしまう方法です。戻り値の種類が増えたときに対応できる方法ですね。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
def sample_if(n): if n % 2 == 0: return 'even' else: return 'odd' print(sample_if(6)) print(sample_if(5)) #出力結果 even odd |
Pythonの条件分岐に使われるif文の基本的な書き方を紹介していきたいと思います。そもそも条件分岐とは何か?if文を書くときの注意点を見ていきましょう。 条件分岐とは 条件によって処理を分けることを条件分岐と言います。分岐の[…]
まとめ
- 戻り値にはreturn文を使う
- return文がないとき、戻り値はNone
- return文があるとき、戻り値は変数に代入できる
- return文で戻り値をカンマで区切るとタプルに格納
- リストと辞書にも格納できる
- 条件分岐を持たせることも可能
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]