Python Programming Language

長い間議論の対象となり、一度は提案が却下された「列挙型」がPythonに導入される見通しとなった。列挙型は「PEP 435 - Adding an Enum type to the Python standard library」で提案されており、5月10日の段階で提案が妥当であるとみなされ、ステータスが「Accepted (許可)」に変更された。現在のスケジュールのまま進めば、Python 3.4に列挙型が登場するものとみられる。

列挙型はシンボル名の集合として定義される型。実際の実装方法はプログラミング言語ごとにさまざまで、int型に置き換えてただの整数として機能するような実装をとる場合もある。Pythonには列挙型として機能が追加される見通しで、整数への置き換えといった実装にはならないものとみられる。

列挙型はプログラムで記述している内容と、実際の動作とのセマンティックを一致させる点で有益な型。ある型において、変更不可能な指定をしたうえで特定の命名規則にしたがって記述することで列挙型と同じような効果を持たせることもできるが、列挙型本来の目的以上のコーディング(主に比較などの演算)が実施できてしまうという問題がある。列挙型として言語仕様として定義することで、こうした曖昧な挙動を抑え、本来の目的に従った使い方ができる。