- # Python入門 > 関数定義・ファンクション
関数で複数の値をreturnする
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
Pythonでは、関数定義において、複数の値を返すように書くことができます。
通常、他のプログラミング言語では、関数は一つの値のみを返しますので、これはPython特有のものですね。
スポンサーリンク
とは言っても、書き方はすごく簡単で、returnに続いて、返したい値を「,」(カンマ)で区切るだけです。
def plus_minus_mult(a, b): return a + b, a - b, a * b print plus_minus_mult(15, 5) c, d, e = plus_minus_mult(20, 10) print c, d, e
上記コードでは、それぞれ、a、bという二つの引数の足し算、引き算、掛け算の3つの値を返すように関数定義しています。
値を引数に与えて関数を呼び出し、表示した実行結果は・・・
(20, 10, 75) 30 10 200
実行結果の1行目では、値が3つreturnされ表示されています。
ここで、注意なのは、3つの値が( )(括弧)によってくくられていることです。
これは、以前勉強した、タプルのデータ型として値が返っていることを表します。
返ってきた値を、そのままprintで表示させると、タプル型となります。
実行結果の2行目では、タプルではなく、普通の数字の並びとなっています。
これは、「c, d, e = plus_minus_mult(20, 10)」とreturnされるタプル要素の値の数だけ(3つ)、「c、d、e」と代入用の変数に、一旦返される値を代入し、その後「print c, d, e」と3つの値を表示しているからです。
実際には、「c, d, e = (30, 10, 200)」とタプルの要素の値が、一つずつ変数に代入されていることになります。
これを多重代入と呼び、リスト形式でも、「c, d, e = [1, 2, 3]」のようにリスト要素の値を、多重代入できます。
スポンサーリンク
>> 次の記事 : 変数のスコープ/グローバル変数とローカル変数
<< 前の記事 : 関数引数のデフォルト値の指定、キーワード引数での関数呼び出し
- - 関連記事 -
- 関数の引数にリストを渡した場合
- 関数内からグローバルスコープの変数にアクセスする
- 変数のスコープ/グローバル変数とローカル変数
- 関数引数のデフォルト値の指定、キーワード引数での関数呼び出し
- 関数定義・ファンクションの書き方
スポンサーリンク