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.