В этом уроке по Python я расскажу вам о методе isdigit в строках Python. Мы рассмотрим его возможности, синтаксис, параметры и результаты. Также я покажу вам несколько наглядных примеров, чтобы вы лучше поняли, как работает этот метод и какие у него есть ограничения.
Python — это универсальный и широко используемый язык программирования. Он предлагает множество встроенных методов, которые делают работу со строками более удобной. Один из таких методов — isdigit().
- Что такое?
- Примеры использования
- Пример-1: проверка диапазона
- Пример 2: проверка пользовательского ввода
- Пример 3: очистка данных
- Пример 4: использование метода в обработке текста
- Ограничения и замечания в методе
- Заключение
Что такое?
Метод isdigit() — это встроенная функция языка программирования Python. Она позволяет проверить, состоят ли все символы в заданной строке только из цифр. Если это так, то функция вернёт значение True, в противном случае — False.
Важно помнить, что метод не распознаёт числа с плавающей запятой или отрицательные числа как цифры.
Синтаксис:
str.isdigit()
Здесь str — это строка Python, над которой будет выполняться операция.
Строковый метод Python isdigit не принимает никаких параметров.
Возвращаемые значения метода isdigit():
- True: если все символы в строке являются цифрами.
- Ложь: если строка содержит один или несколько нецифровых символов или строка пуста.
Вот некоторые системы счисления и символы, распознаваемые Python isdigit():
- Арабские цифры: 0, 1, 2, …, 9.
- Другие системы счисления:
- Арабско-индийские цифры: ٠(0), ١(1), …, ٩(9).
- Расширенные арабско-индийские цифры(используются в персидском и урду): ۰(0), ۱(1), …, ۹(9).
- Бенгальские цифры: ০(0), ১(1), …, ৯(9).
- И подобные цифры из таких сценариев, как деванагари, гуджарати, пенджаби, тайский, лаосский, тибетский и т. д.
- Особые случаи:
- Надстрочные и подстрочные номера: ², ³, ₁, ₂, …
- Некоторые математические числа: ⅕, ⅖, ⅗, …
- Древние или исторические системы счисления, если они представлены в Юникоде.
Примеры использования
Метод isdigit() в Python позволяет определить, являются ли все символы в строке цифрами. Этот метод очень полезен, особенно при проверке пользовательского ввода и очистке данных. Рассмотрим ситуации, в которых применение метода isdigit() будет оправдано.
Пример-1: проверка диапазона
Диапазон isdigit более обширен, чем просто комбинации числовых значений (0–9).
Например, давайте возьмем числа с именем Python list, которые имеют разные типы числовых значений.
numerals = ["9", "٩", "۹", "৯", "²", "⅗"] for num in numerals: print(f"'{num}' is digit:", num.isdigit())
Выход:
'9' is digit: True '٩' is digit: True '۹' is digit: True '৯' is digit: True '²' is digit: True '⅗' is digit: True
Как уже говорилось в предыдущем разделе, метод Python isdigit() проверяет, все ли символы в строке являются цифрами, и возвращает значение True, если это так.
Пример 2: проверка пользовательского ввода
Давайте напишем код на Python, который будет предлагать пользователю ввести свой номер телефона. Для этого мы будем использовать метод isdigit(), который проверяет, что ввод состоит только из цифр. Также мы добавим проверку длины, чтобы убедиться, что номер содержит ровно 10 цифр, как это принято для телефонных номеров в США.
phone = input("Enter your US phone number: ") if phone.isdigit() and len(phone) == 10: print("Valid US phone number.") else: print("Invalid US phone number.")
Результат:
Enter your US phone number: 1234-56-5245 Invalid US phone number.
Или:
Enter your US phone number without dashes: 1234567890 Valid US phone number.
В первом случае пользователь ввёл число, разделённое знаком «-». Поэтому функция isdigit в Python возвратила значение False. Во втором случае пользователь ввёл только цифры, поэтому функция вернула значение True.
Пример 3: очистка данных
В области науки о данных и аналитики перед выполнением операций с наборами данных часто требуется их очистка или фильтрация. Если столбец должен содержать только числовые значения, то строка Python isdigit() может помочь выявить аномалии.
Например, представим, что у нас есть список данных о возрасте с некоторыми отклонениями. Этот код использует функцию Python isdigit() для фильтрации неправильных записей, гарантируя, что набор данных будет содержать только действительные значения возраста.
ages = ['25', '30', 'abc', '32'] cleaned_ages = [int(age) for age in ages if age.isdigit()] print(cleaned_ages)
В результате мы получим новый набор данных, в котором будут только достоверные значения возраста.
[25, 30, 32]
Пример 4: использование метода в обработке текста
Если мы работаем с текстовыми документами и хотим найти или определить числовые последовательности, то нам может помочь функция isdigit() языка программирования Python.
Представим, что у нас есть книга из библиотеки, и в тексте книги указаны годы. Наша задача — найти все числовые значения, которые обозначают годы.
text = "The US declared independence in 1776 ." numbers = [word for word in text.split() if word.isdigit()] print(numbers)
Вывод: метод Split() разделит все символы из текстовой переменной, а цикл for в Python будет выполнять фильтрацию только в том случае, если условие оператора if будет истинным.
['1776']
Ограничения и замечания в методе
- Десятичные числа: строковый метод isdigit() Python не распознает десятичные числа как цифры. Например, «4.5» вернет значение False.
- Отрицательные числа: Python
- строки с отрицательными числами, например «-12345», вернут значение False из-за отрицательного знака.
- Нелатинские цифры: метод может распознавать цифры из других систем счисления, например арабские цифры или цифры деванагари. Таким образом, строка, содержащая «١٢٣»(арабские цифры 123), вернет значение True.
Заключение
Мы изучили метод isdigit в Python для работы со строками. Мы рассмотрели его синтаксис, параметры, возвращаемые значения и диапазон применения. Также мы привели примеры использования этого метода в реальных задачах.
Isdigit — это удобный инструмент для быстрой проверки, состоит ли строка только из цифр. Его можно применять в разных ситуациях: от проверки данных в формах до очистки больших наборов данных. Понимая, как использовать сильные стороны и ограничения этого метода, разработчики смогут эффективно применять его в своих программах на Python.