Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
07 Июл 2023
2 мин
5328

Проверка строки на числовое значение в Python

Часто в ходе работы с Python возникает необходимость проверить, является ли строка числовым значением. Например, при обработке пользовательского ввода

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Часто в ходе работы с Python возникает необходимость проверить, является ли строка числовым значением. Например, при обработке пользовательского ввода или при чтении данных из файла. В этих случаях, данные часто представлены в виде строк и могут содержать числовые значения, записанные как строки.

Рассмотрим пример: есть строка ‘123’ и есть необходимость узнать, является ли это число.

s = '123'

Самый простой и распространенный подход для проверки строки на числовое значение в Python — это использование обработки исключений.

Сначала попытаться преобразовать строку в число с помощью функции float(). Если преобразование прошло успешно, значит строка содержит числовое значение. Если во время преобразования произошла ошибка ValueError, значит строка не является числом.

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

Однако, этот подход может показаться немного громоздким, особенно для новичков.

Существует другой способ, который использует регулярные выражения.

import re

def is_number(s):
    if re.match("^\d+?\.\d+?$", s) is None:
        return s.isdigit()
    return True

В этом примере используется функция re.match(), которая проверяет, соответствует ли строка заданному регулярному выражению. В данном случае проверяется, является ли строка числом с плавающей точкой. Если это не так, то с помощью метода isdigit() проверяется, является ли строка целым числом.

Оба подхода могут быть использованы в зависимости от конкретной ситуации и предпочтений разработчика.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Опрос для читателей: Какой язык программирования лучше? Узнайте результат после голосования

Добавить комментарий