Nicht-ASCII-Python-IDs und Reflektivität [duplizieren]

8

Ich habe von PEP 3131 erfahren, dass Nicht-ASCII-Bezeichner in Python unterstützt wurden, obwohl das der Fall ist nicht als beste Praxis angesehen.

Allerdings bekomme ich dieses seltsame Verhalten, bei dem mein

iago-lito 02.01.2018, 14:51
quelle

1 Antwort

9

Per die Dokumentation zu den Identifikatoren :

  

Alle Kennungen werden beim Parsen in die normale Form NFKC konvertiert;   Vergleich der Bezeichner basiert auf NFKC.

Sie können sehen, dass U + 03C4 das richtige Ergebnis ist, wenn Sie unicodedata verwenden:

%Vor%

Diese Konvertierung gilt jedoch nicht für Zeichenfolgenliterale wie das, das Sie als Wörterbuchschlüssel verwenden. Daher sucht sie nach dem nicht konvertierten Zeichen in einem Wörterbuch, das nur enthält das konvertierte Zeichen .

%Vor%

Sie können ähnliche Probleme mit z.B. Zeichenfolgenliterale, die mit getattr verwendet werden:

%Vor%     
jonrsharpe 02.01.2018, 15:10
quelle