ホームページ  >  記事  >  バックエンド開発  >  Python で Case/Switch ステートメントを実装するにはどうすればよいですか?

Python で Case/Switch ステートメントを実装するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 10:37:02300ブラウズ

How Can I Implement a Case/Switch Statement in Python?

Python の Case/Switch ステートメントの代替手段

Python は、case/switch ステートメントと直接同等のものをネイティブには提供しませんが、次のようなものがあります。

パターン マッチング (Python 3.10 以降)

Python 3.10 では、条件付きステートメントのより汎用性の高い代替手段としてパターン マッチングが導入されました。この機能を使用すると、開発者は値を一連のパターンと比較し、対応するコード ブロックを実行できます。

例:

def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 404:
            return "Not found"
        case 418:
            return "I'm a teapot"
        case _:  # Wildcard case
            return "Something's wrong with the internet"

辞書ベースのアプローチ (Python 3.10 より前)

パターン マッチングが利用可能になる前は、Python の一般的な回避策として、辞書を使用して入力値を対応する関数ブロックにマップすることが必要でした。

例:

options = {0: zero, 1: sqr, 4: sqr, 9: sqr, 2: even, 3: prime, 5: prime, 7: prime}

def num_type(num):
    options[num]()

補足:

  • パターン マッチングは、その簡潔さと柔軟性により、Python 3.10 以降で推奨されるソリューションです。
  • 辞書ベースのアプローチが適している場合があります。フォールスルー動作が必要ない単純なユースケース用。
  • サードパーティのライブラリは追加のスイッチのような機能を提供できますが、独自の癖や制限がある場合があります。

以上がPython で Case/Switch ステートメントを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。