Python が複数の値を返す
Python では、一度に複数の値を返すことができます。明らかに、Python のほとんどの関数は単一の値を返します。通常は、その関数によって実行された作業の結果です。この記事では、Python でも複数の値を返すことができ、そのために辞書、リスト、またはデータ クラスは必要ないことを学びます。
目次
タプルで複数の値を返す
return ステートメントの後にコンマで区切って値をリストするだけです。複数の値を返す方法と、それらを一度に複数の変数に割り当てる方法の例を次に示します:
def get_user(id): # fetch user from database # .... return name, birthdate name, birthdate = get_user(4)
ここで実際に行っているのは、タプルを返すことです。 return (name, birthdate)
と書くこともできました 同様に、同じ効果があります。この方法で 3 つ以上の値を返すことができるかどうか疑問に思っている場合:はい、できます!
タプルを使用して Python で複数の値を返すことの最も明白な利点は、結果を複数の変数に直接代入できることです。 Python が意図されていたように、非常にクリーンで簡潔です。
Python で複数の値を返す別の方法
Python でタプルを使用して複数の値を返すことは、値の数が限られている場合には問題ありません。それらを明確な名前の変数に直接アンパックできるため、実際には非常に読みやすく簡潔なコードになります。
ただし、2 つまたは 3 つの値を超えたら、データ クラスを調べて、コードをクリーンで読みやすい状態に保つ必要があります。データ クラスは基本的に、@dataclass
の注釈が付けられた通常のクラスです。 便利な追加機能を提供します。
たとえば、古いバージョンの Python を実行しているためにデータ クラスを使用できない場合は、以下を返すことも検討できます。
- Python 辞書
- Python リスト
- または通常のクラス (オブジェクト)。
何が最適かは、返すデータの種類によって異なります。データがリストにうまく収まる場合は、リストを使用します。データにキーと値がある場合は、辞書を使用します。データがより複雑な場合は、ディクショナリ内に複数のリストを配置する必要さえあるかもしれません。ある時点で、(データ) クラスを使用する方がクリーンになることを覚えておいてください。
学び続ける
- Python タプルと Python 辞書のすべてを学ぶ
- 関数の紹介
- Python 関数の詳細で、より高度な Python 関数のトリック
Python