Simbolo principale nel nome della variabile Python

1

Quindi sono una persona terribile e voglio nominare una variabile nel mio codice mathy-python3 s′ (che è un simbolo primo).

Ero sotto l'impressione che i valori letterali Unicode funzionassero come identificatori in Python 3, ed è per questo che il mio ɣ , α e ε stanno funzionando bene.

Il simbolo principale è specificamente proibito a causa di quanto sarebbe terribile da usare?

    
posta Alex Lenail 07.10.2014 - 17:48
fonte

2 risposte

9

Non puoi semplicemente usare qualsiasi carattere Unicode negli identificatori Python. Ci sono regole che regolano ciò che può essere utilizzato :

identifier   ::=  xid_start xid_continue*
id_start     ::=  <all characters in general categories Lu, Ll, Lt, Lm, Lo, Nl, the underscore, and characters with the Other_ID_Start property>
id_continue  ::=  <all characters in id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  <all characters in id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  <all characters in id_continue whose NFKC normalization is in "id_continue*">

The Unicode category codes mentioned above stand for:

Lu - uppercase letters
Ll - lowercase letters
Lt - titlecase letters
Lm - modifier letters
Lo - other letters
Nl - letter numbers
Mn - nonspacing marks
Mc - spacing combining marks
Nd - decimal numbers
Pc - connector punctuations
Other_ID_Start - explicit list of characters in PropList.txt to support backwards compatibility
Other_ID_Continue - likewise

Quanto sopra è l'equivalente Unicode di qualsiasi numero di lettere, cifre e caratteri di sottolineatura, purché non inizi con una cifra .

Il codice UIME 2032 PRIME non rientra in nessuna di queste classi; invece è considerato Po - altra punteggiatura .

Ho collegato le categorie Unicode alle query codepoint.net per te in modo da poter vedere quale tipo di caratteri sono permessi. Le altre scelte identificative sono tutte lettere minuscole , tra l'altro.

Devi stare attento e usare un po 'di buon senso in ciò che usi come identificatori. Tenerli leggibili e riconoscibili . Preferibilmente dovrebbero essere facili da scrivere, quindi personalmente preferirei evitare l'uso di lettere minuscole greche. Preferisco usare alpha , gamma , epsilon e s_prime invece qui.

    
risposta data 07.10.2014 - 17:53
fonte
0

Sembra un personaggio a virgoletta singola, che è probabilmente quello che la maggior parte dei programmatori avrebbe semplicemente supposto, a meno che tu non glielo dicessi, o loro guardassero e guardassero da vicino. Diamine, potrebbero esserci font che usano lo stesso glifo per entrambi i personaggi. Anche se puoi usarlo, lo eviterei, per evitare l'eventuale confusione che potrebbe causare.

    
risposta data 07.10.2014 - 17:53
fonte

Leggi altre domande sui tag