[Python-Dev] Python 3.x and bytes

Xavier Morel python-dev at masklinn.net
Thu May 19 09:41:08 CEST 2011


On 2011-05-19, at 07:28 , Georg Brandl wrote:
> On 19.05.2011 00:39, Greg Ewing wrote:
>> Ethan Furman wrote:
>> 
>>> some_var[3] == b'd'
>>> 
>>> 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?
>> 
>> It might seem convenient, but I'd worry that it would lead to
>> even more confusion in other ways. If someone sees that
>> 
>>    some_var[3] == b'd'
>> 
>> is true, and that
>> 
>>    some_var[3] == 100
>> 
>> is also true, they might expect to be able to do things
>> like
>> 
>>    n = b'd' + 1
>> 
>> and get 101... or maybe b'e'...
> 
> Maybe they should :)

But why wouldn't "they" expect `b'de' + 1` to work as well in this case? If a 1-byte bytes is equivalent to an integer, why not an arbitrary one as well?


More information about the Python-Dev mailing list