Возвращает true, если все символы в строке являются цифрами и есть хотя бы один символ, иначе false.
Для строк unicode или строк Python 3 вам нужно будет использовать более точное определение и использовать unicode.isdecimal()/str.isdecimal(); не все символы Unicode интерпретируются как десятичные числа. U + 00B2 SUPERSCRIPT 2 - это цифра, но не десятичная, например.
Ответ 2
Вы всегда можете try его:
try:
a = int(yourstring)
except ValueError:
print "can't convert"
Обратите внимание, что этот метод превосходит isdigit, если вы хотите узнать, можете ли вы преобразовать строку в число с плавающей запятой, используя float