はじめに
第6回では、再利用可能なテンプレート文字列であるt-strings、高効率な圧縮のためのZstandard、括弧なしのexcept/except*式、アノテーションの遅延評価など、言語仕様やライブラリの強化を中心に紹介します。
機能 | 概要 |
---|---|
テンプレート文字列リテラル | t-stringsによりf-stringsに替わるテンプレート文字列が利用可能に |
Zstandardの標準サポート | Metaの開発したZipに替わる新世代の高効率圧縮ライブラリZstandardが利用可能に |
括弧なしのexcept/except*式を許可 | 複数の例外タイプを指定するときに丸カッコが不要に |
アノテーションの遅延評価 | 関数、クラス、モジュールのアノテーションが先行評価されずに必要時にのみ評価されるように |
フリースレッドPythonの正式サポート | グローバルインタプリタロック(GIL)を無効とするビルドオプションが正式に利用可能に |
標準ライブラリ内の複数のインタープリタ | 同一プロセス内で複数のPythonインタプリタが実行可能に |
CPython用の安全な外部デバッガインタフェース | 本番環境デバッグに使えるゼロオーバーヘッドのデバッグインタフェースが利用可能に |
PDBによるPythonプロセスへのリモート接続 | 新しいコマンドラインオプションpdbにより、実行中のPythonプロセスへのリモートアタッチをサポート |
エラーメッセージの改良 | タイプミスを推測するなどエラーメッセージの内容がよりわかりやすく |
新型インタプリタ | テイルコールに基づく高速なインタプリタがオプトイン可能に |
PyREPLでの構文強調表示 | 入力時における構文のハイライト表示がサポート |
[NOTE]テイルコール
テイルコール(Tail call)とは「末尾呼び出し」といい、現在の関数から戻る直前の関数呼び出しのことです。通常は呼び出し命令となるところをジャンプ命令に置き換えられるので、特に再帰呼び出しをこういった呼び出し形態にした場合に、大幅な効率の向上が期待できます。
対象読者
- Pythonの最新の機能を把握したい方
- Pythonの経験者で、Pythonに改めて入門したい方
- プログラミング言語の最新パラダイムに関心のある方
必要な環境
本記事のサンプルコードは、以下の環境で動作を確認しています。
-
macOS Sequoia
- Pyenv 2.6.9、Python 3.14.0
- Visual Studio Code 1.104.3(拡張機能Python 2025.14.0)
[NOTE]サンプルの実行
掲載サンプルは、それぞれの.pyファイルに記述されています。動作確認は、PyenvをHomebrewでインストールしたmacOS上で、Python 3.14.0をインストールしてターミナルから行っています。