仕様変更凍結が解除され新機能が追加された「Python 3.3」、ついにリリース
9月29日、スクリプト言語Pythonのメジャーアップデート版となる「Python 3.3.0」がリリースされた。言語仕様の凍結が解除sれた初のバージョンで、新しい文法やライブラリモジュールが追加されている。
Pythonは言語仕様の互換性を維持したままアップデートが続けられているバージョン2系と、バージョン2系とは互換性のない変更が加えられたバージョン3系という2系統がリリースされており、Python 3.3はバージョン3系の最新版となる。バージョン3系では新機能の追加を積極的に行っているものの、バージョン2系とは互換性がないため、サードパーティによるライブラリの対応などが遅れており、利用がなかなか進んでいないという現状があった。そこでPython開発チームでは3.1リリースから2年間、言語仕様を凍結し変更を行わない「モラトリアム期間」を設けた。3.3はモラトリアム期間が終了し新機能が追加される初めてのバージョンとなる。アルファ版は3月にすでにリリースされており、6月末のベータ版、そして3回のリリース候補(RC)公開を経ての正式版となった。
Python 3.3における新しい文法としては、ジェネレーター関数内で別のジェネレータ関数を利用する「yield form」がある。「u」や「U」といったプレフィックスを用いたUnicodeリテラルシンタックスも復活した。UCS-4文字列にも対応し、文字列表現の柔軟性も強化されている。
ライブラリモジュールでは、仮想化されたPython実行環境を導入するためのvirtualenvパッケージの機能が「venv」機能としてコアに取り込まれた。仮想環境を管理するための「pyenv」ツールも提供される。
新しく追加されたライブラリモジュールとしては、低レベルのデバッグを支援する「faulthandler」、IPアドレスを扱う「ipaddress」、、LZMA圧縮アルゴリズムを使ったデータの圧縮・解凍機能を提供する「lzma」、テストライブラリ「unittest.mock」などがある。
そのほかの変更点としては、「namespace package」と呼ばれる、単一のPythonパッケージを複数のディレクトリに分散して格納するためのメカニズムのネイティブサポートや、「importlib」ベースの「__import__」がデフォルトとなり、sysモジュールにsys.implementation属性が追加された点などがある。10進浮動小数点モジュールのdecimalはC実装によって動作が高速化されたほか、OSやIO例外の階層構造も改善されている。Windows向けのPythonランチャーも強化されている。
Python 3.3はプロジェクトのWebサイトよりダウンロードできる。なお、本バージョンよりOS/2およびVMS、Windows 2000はサポート対象外となっている。
Python Software Foundation
http://www.python.org/