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
