プログラミング言語Pythonの開発チームは、最新バージョンとなる「Python 3.12.0」を、10月2日(現地時間)にリリースした。
Python 3.12.0では、より柔軟なf-string解析によって、これまでは許可されていなかった式部分での、f-stringを区切る引用符文字の使用や、複数行のf-string内でのコメントといった制限が緩和されている。
また、Pythonコードにおけるバッファプロトコルのサポート、デバッグ/プロファイリングAPIの追加、個別のグローバルインタプリタロックによって分離されたサブインタプリタのサポート、エラーメッセージにおけるタイプミスが原因の可能性がある例外のユーザーへの提案、トレースでPython関数名を報告するLinuxのperfプロファイラのサポート、大小さまざまなパフォーマンスの向上が行われた。
型アノテーションでは、ジェネリッククラスの新たな型アノテーション構文が追加されるとともに、メソッドに新たなオーバーライドデコレータが追加されている。
あわせて、非推奨となったUnicodeオブジェクトのC実装メンバであるwstrとwstr_lengthの削除、unittestにおける長い期間非推奨となっていた多数のメソッドとクラスの削除、非推奨のsmtpdとdistutilsモジュールの削除、その他多くの古い、あるいは壊れている、または非推奨の関数、クラス、メソッドが削除された。
ほかにも、文字列内の無効なバックスラッシュによるエスケープシーケンスが、DeprecationWarningの代わりにSyntaxWarningで警告されるようになり(将来的には構文エラーとなる)、より理解しやすくなるとともに、パフォーマンスの向上に備えて、整数の内部表現が変更されている。なお、これはほとんどのユーザーには影響がないものの、Cythonで生成されたコードでは問題が発生する可能性があるという。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です