Pythonic way to determine if a string is a number
Roy Smith
roy at panix.com
Sun Feb 15 14:01:12 EST 2009
In article <mailman.9577.1234722607.3487.python-list at python.org>,
Christian Heimes <lists at cheimes.de> wrote:
> Philip Semanchuk schrieb:
> >
> > On Feb 15, 2009, at 12:46 PM, python at bdurham.com wrote:
> >
> >> What's the Pythonic way to determine if a string is a number? By
> >> number I mean a valid integer or float.
> >
> >
> > try:
> > int(number)
> > is_an_int = True
> > except:
> > is_an_int = False
>
> Please don't teach new Python developers to use bare excepts. In fact
> never use bare excepts at all!
I agree that the bare except is incorrect in this situation, but I don't
agree that you should *never* use them.
They make sense when you need to recover from any error that may occur,
possibly as the last resort after catching and dealing with more specific
exceptions. In an unattended embedded system (think Mars Rover), the
top-level code might well be:
while 1:
try:
main()
except:
reset()
or perhaps even (Range Safety Controller):
try:
main()
except:
self_destruct()
More information about the Python-list
mailing list