在这种情况下,您确实有一种避免
try/的方法
except,尽管我不建议这样做(假设您的输入字符串名为
s,并且您处于必须返回某些内容的函数中):
xs = s.strip()if xs[0:1] in '+-': xs = xs[1:]if xs.isdigit(): return int(s)else: ...
将
...在部分
else就是你回什么是你想要比如说,如果
s是
'iamnotanumber',
'23skidoo'空,全空间,等等。
除非您的许多输入字符串都是非数字的,否则try / except更好:
try: return int(s)except ValueError: ...
您会看到简洁明了,并且避免了笨拙的字符串操作和测试!-)
我看到了很多答案
int(s.strip()),但这是非常麻烦的:不需要剥离!
>>> int(' 23 ')23int知道足以独自忽略前导和尾随空格!-)



