Me he dado cuenta de que no puedo usar todos los caracteres Unicode en mi código fuente python.Algunos caracteres utf8 permitidos en la fuente python, algunos no
Mientras
def 价(何):
está perfectamente ALLRIGHT (aunque sin sentido [probablemente?]),
def N(N₀, t, λ) -> 'N(t)':
esto no está permitido (el subíndice cero que es).
Tampoco puedo usar algunos otros caracteres, la mayoría de los cuales reconozco como algo más que letras (operadores matemáticos, por ejemplo). Siempre pensé que si me apegaba a las reglas que conozco, es decir, componer nombres de letras y números, con una letra como primer personaje, todo estará bien. Ahora, el subíndice cero es claramente un 'número'. entonces mi impresión fue incorrecta
Sé que debo evitar el uso de caracteres especiales. Sin embargo, la definición de la función anterior (el decaimiento exponencial que es) me parece perfectamente razonable, porque nunca cambiará y transmite con elegancia toda la información necesaria para que otro programador la use.
Mi pregunta, por lo tanto, ¿qué caracteres están permitidos exactamente y cuáles no? ¿Y donde?
Editar
bien no parecen haber sido lo suficientemente clara. Estoy usando python3, por lo que no es necesario declarar la codificación del archivo fuente. Aparentemente, a partir de ese momento, pensé que mi definición de función china funciona.
Mi pregunta se refiere a por qué algunos caracteres están permitidos allí, mientras que otros no. El cero del subíndice genera un error, carácter no válido en el identificador, pero el cero negrita de la pizarra funciona. Ambos igualmente especial Yo diría.
Me gustaría saber si hay reglas generales que se apliquen no solo a mi situación, debe haber. Parece que mi error no es un accidente.
Edición 2:
La cortesía respuesta de Beau Martínez, me apunta a la referencia del lenguaje, donde debería haber mirado en el primer lugar:
http://www.dcl.hpi.uni-potsdam.de/home/loewis/table-3131.html Parece que los caracteres que se permiten son todos elegidos
FWIW, También me parece extraño que un lenguaje con una fortaleza en la competencia científica permita en los identificadores "CINCO NUMÉRICOS ROMANOS", "CINCO INDÍGENAS ÁRABE-INDÍGENAS", "CINCO ÁRABE INDÍGENAS EXTENDIDOS CINCO", "CINCO DIVISOS DEVANAGARÍ" , "BENGALI DIGIT CINCO", "GURMUKHI DIGIT CINCO", <20 otros 5), "FULLWIDTH DIGIT CINCO" - pero no un subíndice "5". Especialmente "fullwidth" no es un lenguaje en sí mismo sino una variante de letra, como lo es un subíndice. Además, "ℌ" o "ℂ" también son meras variantes, pero están permitidas. –