> Here's another thought, that perhaps is not backwards-incompatible... > > some_var[3] == b'd' > > At some point, the bytes class' __eq__ will be called -- is there a > reason why we cannot have > > 1) a check to see if the bytes instance is length 1 > 2) a check to see if > i) the other object is an int, and > 2) 0 <= other_obj < 256 > 3) if 1 and 2, make the comparison instead of returning NotImplemented?
Immutable objects that compare equal should hash equal; so we would also have to change the hashing of byte strings. Not sure whether that, in turn, has undesirable consequences. In addition, equality should be transitive, so b'A' == 65.0. Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com