##
5.2.1 識別子 (identifier、または名前 (name))

アトムの形になっている識別子 (identifier) は名前 (name) です。 名前づけや束縛については、4.1 節を参照してください。

名前があるオブジェクトに束縛されている場合、名前アトムを評価すると そのオブジェクトになります。名前が束縛されていない場合、アトムを 評価しようとすると`NameError` 例外を送出します。

プライベートな名前の難号化 (mangling):クラス定義内にテキストの形で書かれた識別子で、二つ以上のアンダースコア から始まり、末尾が二つ以上のアンダースコアになっていないものは、 そのクラスの プライベートな名前 (private name) とみなされます。 プライベートな名前は、コードが生成される前に、より長い形式の名前に 変換されます。この変換では、クラス名の先頭にあるアンダースコアを全て はぎとり、先頭にアンダースコアを一つ挿入して、名前の前に付加します。 例えば、クラス `Ham` 内の識別子 `__spam` は、 `_Ham__spam` に変換されます。変換は識別子が使われている構文的 コンテキストとは独立しています。変換された名前が非常に長い (255 文字以上) の場合には、実装によっては名前の切り詰めが起きる かもしれません。クラス名がアンダースコアだけから成り立つ場合には、 変換は行われません。