Python の関数から複数の値を返す
Python では、通常、関数は単一の値を返します。ただし、特定のシナリオでは、複数の値を返す必要がある場合があります。
関数から複数の値を返すには、単純に複数の return ステートメントを使用することはできません。代わりに、いくつかの手法を検討できます。
タプルとリスト:
1 つのオプションは、返したい値を含むタプルまたはリストを返すことです。関数呼び出し後にタプルまたはリストを解凍できます。例:
def select_choice(): # ... previous code here return i, card # or [i, card] my_i, my_card = select_choice()
タプルまたはリストを返すと、返された値は別の変数に格納されます。
名前付きタプル:
If 3 つ以上の値を返す予定がある場合は、名前付きタプルの使用を検討してください。これにより、名前付き属性によって戻り値にアクセスできるようになり、可読性が向上します。
from collections import namedtuple ChoiceData = namedtuple('ChoiceData', 'i card other_field') def select_choice(): # ... previous code here return ChoiceData(i, card, other_field) choice_data = select_choice() # access values via attributes print(choice_data.i, choice_data.card)
辞書:
辞書を返すことも可能で、名前を付けることができます。返された値とそのキーによるアクセス:
def select_choice(): # ... previous code here return {'i': i, 'card': card, 'other_field': other_field}
カスタム ユーティリティクラス:
より複雑なシナリオの場合は、返されたデータをラップするユーティリティ クラスまたは Pydantic/データクラス モデル インスタンスを作成し、検証とカプセル化を提供することを検討してください。
これらの手法を理解することで、 Python の関数から複数の値を効果的に返すことができ、コードの柔軟性と使いやすさが向上します。
以上がPython 関数から複数の値を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。