Python 3.10では、新たにパターンマッチングという機能が導入されました。これは、他の言語でよく見られるcase文のようなものです。

具体的には、以下のようなコードが書けます。

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"

このコードでは、statusの値に応じて異なる文字列を返しています。case _:は、どのcaseにも該当しない場合に実行されます。

また、Python 3.10以前では、辞書を使って同様のことを実現していました。

def zero():
    print("You typed zero.\n")

def sqr():
    print("n is a perfect square\n")

def even():
    print("n is an even number\n")

def prime():
    print("n is a prime number\n")

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

options[num]()

このように、Python 3.10のパターンマッチングとcase文は、より直感的で読みやすいコードを書くための強力なツールとなります。

投稿者 admin

コメントを残す

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