I have just found this strange behaviour parsing data from IANA.
"ǃ".isalpha() # returns True
"!".isalpha() # returns False
Apparently, the two exclamation marks are different:
In [62]: hex(ord("ǃ"))
Out[62]: '0x1c3'
In [63]: hex(ord("!"))
Out[63]: '0x21'
Just wondering is there a way to prevent this to happen? What is the origin of this behaviour?