[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2021-03-12 Thread Eryk Sun


Change by Eryk Sun :


--
type: behavior -> enhancement
versions: +Python 3.10, Python 3.8, Python 3.9 -Python 3.5, Python 3.6, Python 
3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-23 Thread Brian Ward

Brian Ward added the comment:

The "should" recommendation seems like the right direction, but feels like it 
needs an explanation (in case someone's trying to run some 2.7 code and is 
wondering why their comparisons don't work anymore). Unfortunately, it's a 
little complicated to pile into a section like this. Putting it somewhere else 
(that includes a reference to -b) might work.

A somewhat related aside is that I've sometimes thought that there ought to be 
something a little more extensive regarding converting bytes to strings, as 
it's the kind of thing that can lead you down this road anyway.

--
nosy: +Brian Ward

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-23 Thread Mariatta Wijaya

Changes by Mariatta Wijaya :


--
versions:  -Python 2.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-23 Thread Martin Panter

Martin Panter added the comment:

Also, “-bb” turns it into an exception, and the same applies to bytes vs int:

>>> b"a" == "a"
Traceback (most recent call last):
  File "", line 1, in 
BytesWarning: Comparison between bytes and string
>>> b"a" == 0x61
Traceback (most recent call last):
  File "", line 1, in 
BytesWarning: Comparison between bytes and int

Perhaps the documentation should say “should not be compared” rather than 
“cannot”. Or perhaps it should mention “-b”.

Mariatta: I don’t think this is relevant to 2.7. In 2.7, you do get an error 
with bytearray vs unicode, but bytearray is not discussed in this bit of the Py 
2 documentation.

--
nosy: +Mariatta, martin.panter

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-22 Thread Eryk Sun

Eryk Sun added the comment:

How about "cannot be compared by value" or "cannot be ordered by value"? 
Emphasizing the value aspect doesn't conflict with the default equality 
comparison by identity.

Note that starting Python with the -b option causes the bytes type to raise a 
warning in this case:

>>> sys.flags.bytes_warning
1
>>> 'a'.__eq__(b'a')
NotImplemented

>>> b'a'.__eq__('a')
__main__:1: BytesWarning: Comparison between bytes and string
NotImplemented

--
nosy: +eryksun

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-22 Thread Mariatta Wijaya

Changes by Mariatta Wijaya :


--
versions: +Python 2.7, Python 3.5 -Python 3.3

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-22 Thread Mariatta Wijaya

Changes by Mariatta Wijaya :


--
versions:  -Python 3.4, Python 3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30435] Documentation either unclear or incorrect on comparisons between bytes and strings in Python 3

2017-05-22 Thread ipatrol

New submission from ipatrol:

https://docs.python.org/3/reference/expressions.html#comparisons says that 
"Strings and binary sequences cannot be directly compared." That would seem to 
me to imply that an equality between them would raise an exception, as also 
claimed by https://wiki.python.org/moin/BytesStr

However, that is manifestly incorrect. Bytes and strings can be compared: they 
are always unequal. This appears to be a result of the operation falling 
through to the default comparison, which returns False since they are not 
identical objects. Equality is a comparison, though it is not an order 
comparison. A brief search of the word "cannot" in the documentation suggest 
that saying a certain thing cannot be done usually implies that attempting to 
do so anyway will raise an exception, typically a TypeError. That this is not 
the case for string-bytes comparisons should be mentioned.

--
assignee: docs@python
components: Documentation
messages: 294200
nosy: docs@python, ipatrol
priority: normal
severity: normal
status: open
title: Documentation either unclear or incorrect on comparisons between bytes 
and strings in Python 3
type: behavior
versions: Python 3.3, Python 3.4, Python 3.5, Python 3.6, Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com