On 5/10/2015 12:34 PM, Mark Rosenblitt-Janssen wrote:
Here's something that might be wrong in Python (tried on v2.7):

You are being hypnotized by the fact the 'int' is a builtin name. Builtin names are not keywords and can intentionally be rebound. If you rebind randomly, the result may seem strange, but is predictable. This is why be recommend not randomly reusing names of builtins.

class int(str): pass

This in effect rebinds 'int' to the str class. The work 'int' no longer has any connect to the builtin integer class.

int(3)

Equivalent to str(3)

'3'

No surprise that str(3) == '3'.

Replace 'int' with anything else, such as 'zyz' or 'Mark' in both statements and the result is the same.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to