Python の switch ステートメントの代替手段はありますか? 質問する

Python の switch ステートメントの代替手段はありますか? 質問する

入力インデックスの値に基づいて異なる固定値を返す関数を Python で記述したいと思います。

switch他の言語ではorステートメントを使用しますcaseが、Python にはステートメントがないようですswitch。このシナリオで推奨される Python ソリューションは何ですか?

ベストアンサー1

Python 3.10(2021)では、match-caseステートメントは、Python の「スイッチ」のファーストクラスの実装を提供します。例:

def f(x):
    match x:
        case 'a':
            return 1
        case 'b':
            return 2
        case _:
            return 0   # 0 is the default case if x is not found

match-ステートメントcaseは、この単純な例よりもはるかに強力です。


Python ≤ 3.9 をサポートする必要がある場合は、代わりに辞書を使用します。

def f(x):
    return {
        'a': 1,
        'b': 2,
    }[x]

おすすめ記事