On 02/04/2013 03:16 PM, Steven D'Aprano wrote:
The eternal conflict between "Look Before You Leap" and "Easier to Ask for
Forgiveness than Permission" (LBYL vs EAFP) continues...
I want to check that a value is a number. Let's say I don't care what sort
of number -- float, int, complex, Fraction, Decimal, something else -- just
that it is a number. Should I:
Look Before I Leap:
from numbers import Number
if isinstance(x, Number):
...
else:
raise TypeError
or Ask Forgiveness:
x + 0
...
As Ian mentioned, both cases are LYBL, unless of course your addition
was just an example of some mathematical code you have further down.
Personally, I go with EAFP unless I'm trying to present friendlier error
messages.
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list