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
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to