[Python-3000] PEP 3137 plan of attack
Thomas Lee
tom at vector-seven.com
Tue Oct 9 17:54:00 CEST 2007
Guido van Rossum wrote:
>>>
>>>> - make == and != between PyBytes and PyUnicode return False instead of
>>>> raising TypeError
>>>>
>>>>
Just thinking about it I'm pretty sure my initial patch is wrong -
forgive my ignorance. To remove the ambiguity, is it fair to state the
following?
bytes() == str() -> False instead of raising TypeError
bytes() != str() -> True instead of raising TypeError
I initially read that as "return False whenever any comparison between
bytes and unicode objects is attempted" ...
> Assuming that PyUnicode_Compare is a three-way comparison (less,
> equal, more), it should raise a TypeError when one of the arguments is
> a PyString or PyBytes.
>
>
Cool. Should have that sorted out soon. As above:
str8() == str() -> False
str8() != str() -> True
Correct?
>> Is it just me, or do string/bytes comparisons already work?
>>
>> >>> s = str8('test')
>> >>> b = b'test'
>> >>> s == b
>> True
>> >>> b == s
>> True
>> >>> s != b
>> False
>> >>> b != s
>> False
>>
>
> Seems it's already so. Do they order properly too? (< <= > >=)
>
Looks like it:
>>> str8('a') > b'b'
False
>>> str8('a') < b'b'
True
>>> str8('a') <= b'b'
True
>>> str8('a') >= b'b'
False
Cheers,
Tom
More information about the Python-3000
mailing list