Normalisation of unicode and keywords
18 May
2018
18 May
'18
11:46 a.m.
Stephan Houben noticed that Python apparently allows identifiers to be keywords, if you use Unicode "mathematical bold" letters. His explanation is that the identifier is normalised, but not until after keywords are checked for. So this works: class Spam: locals()['if'] = 1 Spam.𝐢𝐟 # U+1D422 U+1D41F # returns 1 Of course Spam.if fails with SyntaxError. Should this work? Is this a bug, a feature, or an accident of implementation we can ignore? -- Steve
2142
Age (days ago)
2142
Last active (days ago)
2 comments
3 participants
participants (3)
-
Ivan Pozdeev
-
Steve Holden
-
Steven D'Aprano