Python 3系で初となる言語仕様変更を含む「Python 3.3」、初のアルファリリース

 Python Software Foundationは3月5日、「Python 3.3.0 alpha 1」をリリースした。Python 3系ではいままで言語仕様の変更が行われていなかったが、Python 3.3ではいくつかの新文法を含む機能追加が行われるという。

 Pythonでは2系および3系の2系統がリリースされており、2系と3系の間では文法などの言語仕様に互換性がない。そのため標準のPython実装であるCPython以外の実装が追いつくまでPythonの言語仕様変更は凍結されていた。

 Python 3.3.0の変更点としては、まずジェネレータ関数内で別のジェネレータ関数を利用する「yield form」というシンタックスが追加された点がある。これを利用することで、ジェネレータ関数内でほかのジェネレータに処理の一部を委譲するような処理をより簡潔に記述できるという。

 Unicode文字列型が複数の内部表現をサポートするよう変更されたほか、Python 2系からの移植を容易にするため、Python 2系で使われていた「u」や「U」といったプレフィックスを用いたUnicodeリテラルシンタックスも復活している。

 また、ネストされたクラスや関数を区別しやすくするために「__qualname__」属性が追加された。グローバルな関数やクラスではこの属性の値は「__name__」属性と同じとなる。そのほか、新モジュールの追加や既存モジュールの改良も行われている。

 なお、現在の安定版はバージョン3系がバージョン3.2.2、バージョン2系がバージョン2.7.2となる。リリーススケジュールによると、3.3.0は5月末のアルファ4まで3回のアルファリリースを経た後6月末にベータがリリースされるとのこと。正式版リリースは8月18日となっている。

Python Software Foundation
http://www.python.org/