Python: проверка, является ли строка числом (float)
В Python нет встроенной функции «является ли строка числом», но эту проверку легко реализовать самому через float() и обработку исключения.
Что нужно знать
Пример: используем float()
def isfloat(num):
try:
float(num)
return True
except ValueError:
return False
print(isfloat('s12'))
print(isfloat('1.123'))
Вывод
False
True
Как это работает
Функция isfloat() пытается преобразовать переданное значение в число с плавающей точкой:
Если преобразование прошло успешно — возвращается
True.Если
float()не смог распознать строку как число, он бросает исключениеValueError. Мы перехватываем его в блокеexceptи возвращаемFalse.
Например, 's12' содержит буквы и не может быть числом — функция вернёт False. А '1.123' — корректное представление числа, поэтому возвращается True.