Clayton Kirkwood added the comment:
Cool
-Original Message-
From: Terry J. Reedy [mailto:rep...@bugs.python.org]
Sent: Friday, November 14, 2014 1:04 PM
To: c...@godblessthe.us
Subject: [issue22843] doc error: 6.2.4. Match Objects
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 rep...@bugs.python.org
http://bugs.python.org/issue22843
___
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22843
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com