\

Python 3.10から導入された新機能、match-case構文は、値に応じた処理の分岐に使用する構文です。また、lambda関数は、基本的に関数をとても簡潔に書けます。

match-case構文の特徴

match-case構文は、条件分岐が厳密に定められることや、条件が入れ子になってしまった場合にもスッキリとまとまること、パターンが柔軟なことが特徴です。

例えば、以下のようにFizzBuzz問題を解くことができます。

for i in range(1,101):
    match i:
        case i if i % 3 == 0 and i % 5 == 0:
            print('FizzBuzz')
        case i if i % 5 == 0:
            print('Buzz')
        case i if i % 3 == 0:
            print('Fizz')
        case _:
            print(i)

lambda関数の特徴

lambda関数は、基本的に関数をとても簡潔に書けます。しかし、lambda式では複数行に渡るステートメントを許可していません。そのため、「複雑な条件分岐」を行うような場合には、lambda式ではなくdefを用いた関数を使います。

例えば、以下のようにlambda関数を使用して四則演算を行うことができます。

def dispatch_dict(operator, x, y):
    return {
        'add': lambda: x + y,
        'sub': lambda: x - y,
        'mul': lambda: x * y,
        'div': lambda: x / y,
    }.get(operator, lambda: None)()

以上、Pythonのmatch-case構文とlambda関数について簡単に説明しました。これらの機能を理解し、適切に使用することで、より効率的なコードを書くことができます。

投稿者 admin

コメントを残す

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