5.2.1 Identificatori (Names)

Un identificatore che si presenta come un atomo è un nome. Si veda la sezione 4.1 per la documentazione circa le convenzioni su nomi ed associazioni.

Quando il nome è associato ad un oggetto, la valutazione dell'atomo restituisce quell'oggetto. Quando un nome non è associato, un tentativo di valutarlo solleva un'eccezione NameError.

Private name mangling:

Quando un identificatore viene rinvenuto testualmente nella definizione di una classe e comincia con due o più caratteri underscore ma non termina con due o più underscore, viene considerato un nome privato di quella classe. I nomi privati vengono trasformati nella forma estesa dopo che è stato generato il codice per questi. La trasformazione inserisce il nome della classe davanti al nome, prima rimuovendo gli underscore e poi inserendo un singolo underscore prima del nome. Per esempio, l'identificatore __spam viene rinvenuto in una classe chiamata Ham che verrà trasformata in _Ham__spam. Questa trasformazione è indipendente dal contesto sintattico in cui viene usato l'identificatore. Se la trasformazione del nome è estremamente lunga (più lunga di 255 caratteri), l'implementazione tronca il nome dove capita. Se il nome della classe si compone solamente di underscore, non avviene alcuna trasformazione.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.