工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Pythonで複数値を返す:シンプルなガイド

Pythonで複数値を返す:シンプルなガイド

Pythonでは一度に複数の値を返せます。显然、Pythonのほとんどの関数は単一の値(通常その関数が行った作業の結果)を返します。この記事では、Pythonで複数値を返せること、そしてそのために辞書、リスト、データクラスは不要であることを学びます。

タプルで複数値を返す

することは、return文の後に値をカンマ区切りで並べるだけです。複数値を返し、一度に複数変数へ代入する例:

def get_user(id):
    # データベースからユーザーを取得
    # ....
    return name, birthdate

name, birthdate = get_user(4)

実際にやっているのはタプルを返すことです。return (name, birthdate)と書いても同じ効果です。2つ以上の値をこの方法で返せるか? はい、返せます!

Pythonでタプルを使って複数値を返す最大の利点は、結果を直接複数変数にアンパック代入できることです。Pythonらしく、超クリーンで簡潔です。

Pythonで複数値を返す代替方法

タプルでの複数値返却は、値の数が限られている場合に適しています。明確に名付けられた変数に直接アンパックできるため、実際には非常に読みやすく簡潔なコードになります。

しかし、2〜3個を超える値になったら、コードをクリーンかつ読みやすく保つためにデータクラスを検討すべきです。データクラスは本質的に通常クラスに@dataclassアノテーションを付け、便利な追加機能を与えたものです。

データクラスが使えない場合(古いPythonバージョン等)、以下も検討できます:

何がベストかは、返すデータの種類によります。データがリストに綺麗に収まるならリストを使う。キーと値があるなら辞書。データがより複雑なら、辞書の中に複数リストを入れる必要があるかもしれません。ただ、ある時点からは(データ)クラスを使うのが最もクリーンになることを覚えておいてください。

学びを続ける

Python

  1. Python データ型マスター: 実践ガイド
  2. Python 演算子完全マスター: 包括的ガイド
  3. Python pass文完全マスター: 実践ガイド
  4. Python 関数引数完全マスター: 位置引数・キーワード引数・デフォルト引数
  5. Python辞書完全ガイド:作成、操作、高度なテクニック
  6. Pythonイテレータ完全ガイド:仕組みと自作方法
  7. Pythonクロージャ解説:ネスト関数が変数を捕捉する仕組み
  8. Python datetimeマスター:日付・時刻・タイムゾーン実践ガイド
  9. Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例
  10. Python yieldをマスター:ジェネレータvs return – 実践ガイド
  11. Python 概要:高水準、読みやすい、インタラクティブ、オブジェクト指向