check if object is number

Steven Bethard steven.bethard at gmail.com
Fri Feb 11 15:17:55 EST 2005


George Sakkis wrote:
> "Steven Bethard" <steven.bethard at gmail.com> wrote in message
> news:gcidnb9g_ojxnpDfRVn-tA at comcast.com...
> 
>>Is there a good way to determine if an object is a numeric type?
> 
> In your example, what does your application consider to be numeric?

Well, here's the basic code:

def f(max=None):
     ...
     while max is None or n <= max:
         ...
         # complicated incrementing of n

So for 'max', technically all I need is <= support.  However, the code 
also depends on the fact that after incrementing 'n' enough, it will 
eventually exceed 'max'.  Currently, ints, longs, floats, and Decimals 
will all meet this behavior.  But I'd rather not specify only those 4 
(e.g. with a typecheck), since someone could relatively easily create 
their own new numeric type with the same behavior.  Do you know a better 
way to test for this kind of behavior?

Steve



More information about the Python-list mailing list