[Tutor] “has a value of True” versus “evaluates true” (was: don't understand iteration)
Ben Finney
ben+python at benfinney.id.au
Tue Nov 11 00:24:00 CET 2014
"Clayton Kirkwood" <crk at godblessthe.us> writes:
> Also of confusion, the library reference says:
>
> Match objects always have a boolean value of True. Since match() and
> search() return None when there is no match, you can test whether there was
> a match with a simple if statement:
>
> match = re.search(pattern, string)
> if match:
> process(match)
The documentation is incorrect, as you point out: “have a boolean value
of True” implies that the value is identical to the built-in ‘True’
constant, which is never the case for these objects.
Instead, the passage above should say “evaluates true in a boolean
context”.
Would you be so kind as to report a bug to that effect
<URL:http://bugs.python.org/>?
--
\ “The Vatican is not a state.… a state must have people. There |
`\ are no Vaticanians.… No-one gets born in the Vatican except by |
_o__) an unfortunate accident.” —Geoffrey Robertson, 2010-09-18 |
Ben Finney
More information about the Tutor
mailing list