* Mark Rosenblitt-Janssen <dreamingforw...@gmail.com> [2015-05-10 11:34:52 
-0500]:
> Here's something that might be wrong in Python (tried on v2.7):
> 
> >>> class int(str): pass
> 
> >>> int(3)
> '3'

What's so odd about this? "class int" is an assignment to "int", i.e.
what you're doing here is basically:

int = str
int(3)  # really str(3)

* Mark Rosenblitt-Janssen <dreamingforw...@gmail.com> [2015-05-10 19:14:18 
-0500]:
> In case the example given at the start of the thread wasn't
> interesting enough, it also works in the other direction:
> 
> >>> class str(int):  pass
> 
> >>> str('2')
> 2  #<----- an integer!!!

Same thing. You're shadowing the builtin.

Florian

-- 
http://www.the-compiler.org | m...@the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
         I love long mails! | http://email.is-not-s.ms/

Attachment: pgp4DcbzxrzoZ.pgp
Description: PGP signature

_______________________________________________
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