[docs] [issue22843] doc error: 6.2.4. Match Objects
Terry J. Reedy
report at bugs.python.org
Fri Nov 14 22:03:34 CET 2014
Terry J. Reedy added the comment:
David is correct that the current phrasing is correct. The phase 'x has a boolean value of True' means 'bool(x) is True', which is always true for match objects, as well as for non-zero numbers, non-empty collections, and many other things. This does *not* imply equality between the object and its boolean value. In fact, nearly all objects are not equal to their boolean value. Clayton could just as well as have written "blah = 'a'" or "blah = 1 + 1j" and gotten the name non-surprising result.
There is nothing special about boolean values in this respect. The string value of x is str(x) and in general, x != str(x). (This also sometimes confuses people.) Similarly, if x has an integral value int(x), it does not necessarily equal that value: int(3.1459) != 3.
I think the doc is fine as is. The fact that "3 is considered to be '3' in a display context" does not mean that we do not write "the string value of 3 is '3'". It is fundamental to Python that essentially all objects o have a string value str(o) and a boolean value bool(o) and that those mappings are sometimes used automatically for display and logic.
----------
nosy: +terry.reedy
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22843>
_______________________________________
More information about the docs
mailing list