You can check if a variable is numeric using the built-in function isinstance():
isinstance(x, (int, long, float, complex))
This also applies to string and unicode literals:
isinstance(x, (str, unicode))
For instance:
def checker(x):
if isinstance(x, (int, long, float, complex)):
print "numeric"
elif isinstance(x, (str, unicode)):
print "string"
>>> x = "145"
>>> checker(x)
string
>>> x = 145
>>> checker(x)
numeric
source
share