Python 3.10では、新たな構文として構造的パターンマッチングが導入されました。この構文はmatch
とcase
の2つのキーワードを使用します。
match value:
case 1:
...
case _:
...
この構文は、単純な値での分岐だけでなく、データ構造やアトリビュートのパターンでの分岐も可能となっています。見た目は他のオブジェクト指向型の言語によくあるswitch case
に似ていますが、どちらかというと関数型言語のパターンマッチングに近いイメージで捉えるのがよさそうです。
また、正規表現内で変数を使用する方法もあります。例えば、次のように書くことができます。
import re
TEXTO = sys.argv[1]
my_regex = r"\\b(?=\\w)" + re.escape(TEXTO) + r"\\b(?!\\w)"
if re.search(my_regex, subject, re.IGNORECASE):
# do something
このコードでは、re.escape
を使用して特殊文字が解釈されないようにしています。
これらの機能を理解し、適切に活用することで、よりPythonicなコードを書くことができます。