ノート

2025-11-01

【備忘録】ウォルラス演算子と正規表現 ~ Python

Python 3.8 から導入された := は、代入と評価を同時に行える構文で、条件式やループ内での一時変数の代入に特に便利です [1]。恥ずかしながら、生成 AI とのコーディングのやりとりで話題になるまで、知らなかった演算子でした😳。

生成 AI (Microsoft Copilot) が次のようにまとめてくれました。

🦭 ウォルラス演算子( := )とは?

  • 正式名称:Assignment Expression(代入式)
  • 通称:ウォルラス演算子( := の形がセイウチ, walrus の目と牙に似ていることから)
  • 導入バージョン:Python 3.8 (PEP 572 [2])

この演算子は、式の中で変数に値を代入しつつ、その値を評価に使うことができます。従来の = は文としてしか使えず、式の中では使えませんでした。

特に便利だと思う、正規表現を扱う時の例を備忘録としてまとめました。

ウォルラス演算子の利用例
import re

pattern = re.compile(
    r"^[a-zA-Z0-9_+-]+(\.[a-zA-Z0-9_+-]+)*@([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$"
)


addr = "user@example.com"

if match := pattern.match(addr):
    print(f"メールアドレスは '{match.group(0)}' です。")
else:
    print(f"'{addr}' は無効なメールアドレスです。")
メールアドレスは user@example.com です。

電子メールアドレスを判別する正規表現は、参考サイト [3] を引用しました。

参考サイト

  1. What's New In Python 3.8 — Python ドキュメント
  2. PEP 572 – Assignment Expressions | peps.python.org
  3. メールアドレスの正規表現 | 正規表現入門

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加