isFloat: Without Exception-Handling
James T. Dennis
jadestar at idiom.com
Fri Oct 4 20:38:08 EDT 2002
Mark McEahern <marklists at mceahern.com> wrote:
> [Thomas Guettler]
>> Is there a way to write the following method without using exceptions?
> Please help me understand your aversion to the original code you posted.
> IMHO, it has several salient characteristics:
> 1. It works.
> 2. It works.
> 3. It works.
> Did I forget to mention:
> It works.
> Anyway, I'd modify your original function slightly to use True/False
> (builtin as of 2.2.1) and to be explicit about which errors we're ignoring:
> def isFloat(s):
> is_float = True
> try:
> float(s)
> except (ValueError, TypeError), e:
> is_float = False
> return is_float
What's wrong with:
def isFloat(s):
try: return float(s) and True
except (ValueError, TypeError), e: return False
It seems more concise and clear to skip the temp variable and
assignments.
(The 'and True' part of the first return expression implicitly coerces
the return result to be a boolean, while the phrase: "and True" seems
clear enough in English, a little stilted, but still good enough English).
More information about the Python-list
mailing list