python判断输入的字符串是否为数字

今天在做个小练习,判断用户输入的字符串是正数,负数还是0的时候忽然想到要加个判断,判断输入的是否都是数字。想来想去都不到好的解决方法,如果是数字可以直接使用int(),如果有字母,则使用int()会有error,我想到了正则,但还是麻烦了点。后来在网上搜了下,发现使用try正好符合我的需求,于是就有了下面的代码:

#coding=utf-8
a = raw_input('Enter a num:')

try:
    a = int(a)
    if a > 0:
        print '%d is zhengshu' % a
    elif a < 0:
        print '%d is fushu.' % a
    else:
        print '%d is zero' % a
except ValueError:
    print 'please enter a num, not string or others.'