[Python-Dev] Normalisation of unicode and keywords
steve at pearwood.info
Fri May 18 07:46:11 EDT 2018
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:
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?
More information about the Python-Dev