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.