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
関数について簡単に説明しました。これらの機能を理解し、適切に使用することで、より効率的なコードを書くことができます。