Pythonでは、switch文が直接サポートされていませんが、enumdictionaryを組み合わせることで、switch文のような動作を実現することが可能です。また、Python 3.10以降では、match-case構文が導入され、パターンマッチングが可能になりました。

Enumを使ったSwitch文の実装

以下に、Pythonでenumを使ってswitch文を実装する例を示します。

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

def switch_color(color):
    switch = {
        Color.RED: "Apple",
        Color.GREEN: "Kiwi",
        Color.BLUE: "Sky",
    }
    return switch.get(color, "Unknown")

このコードでは、Colorというenumを定義し、それぞれの色に対応する文字列をdictionaryで定義しています。そして、switch_color関数では、引数として与えられた色に対応する文字列を返すようになっています。

Python 3.10のmatch-case構文

Python 3.10以降では、match-case構文が導入されました。これにより、より直感的なswitch文のような動作を実現することが可能になりました。

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

このコードでは、HTTPステータスコードを引数として受け取り、それぞれのステータスコードに対応するエラーメッセージを返すようになっています。

以上が、Pythonでenumを使ったswitch文の実装方法と、Python 3.10のmatch-case構文の使用例です。これらを活用することで、Pythonでもswitch文のような動作を実現することが可能です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です