如果用str.isdigit()来做,输入正整数没问题,但是负数又不行了。而isinstance(a,int)是不能直接用在字符串上的,所以这里推荐一种做法:
利用try/except配合int()和isinstance(a,int)
>>> def func(z):
... try:
... z=int(z)
... return isinstance(z,int)
... except ValueError:
... return False
>>> func("qwert")
False
>>> func("2")
True
>>> func("-2")
True
>>> func("-2qwe")
False
>>> func("qwe")
False