Изучение различных методов проверки того, является ли строка целым числом в Python

В Python определение того, представляет ли строка целое число, может быть обычной задачей при работе с пользовательским вводом или обработкой данных. В этой статье мы рассмотрим различные методы проверки того, является ли строка целым числом в Python. Мы рассмотрим различные подходы, включая преобразование типов, регулярные выражения и обработку ошибок. Давайте погрузимся!

Метод 1: использование метода isdigit()
Самый простой подход — использовать встроенный метод isdigit(), который возвращает True, если все символы в строка – это цифры, что указывает на то, что ее можно преобразовать в целое число.

def is_integer_1(string):
    return string.isdigit()
# Example usage
print(is_integer_1("12345"))  # Output: True
print(is_integer_1("12.34"))  # Output: False

Метод 2: использование блока try-кроме
Другой подход предполагает использование блока try-кроме для попытки преобразования строки в целое число. Если преобразование прошло успешно, строка является целым числом; в противном случае это не так.

def is_integer_2(string):
    try:
        int(string)
        return True
    except ValueError:
        return False
# Example usage
print(is_integer_2("12345"))  # Output: True
print(is_integer_2("12.34"))  # Output: False

Метод 3. Использование регулярных выражений
Регулярные выражения предоставляют мощный инструмент для сопоставления с образцом. Мы можем использовать регулярные выражения, чтобы проверить, соответствует ли строка шаблону целого числа.

import re
def is_integer_3(string):
    pattern = r"^-?\d+$"  # Allows for optional negative sign
    return re.match(pattern, string) is not None
# Example usage
print(is_integer_3("12345"))  # Output: True
print(is_integer_3("-123"))   # Output: True
print(is_integer_3("12.34"))  # Output: False

Метод 4. Использование метода isnumeric()
Похоже на isdigit(), метод isnumeric()проверяет, все ли символы в строке являются числовыми. Однако он также учитывает другие типы числовых символов, например верхние и нижние индексы.

def is_integer_4(string):
    return string.isnumeric()
# Example usage
print(is_integer_4("12345"))   # Output: True
print(is_integer_4("²³⁴"))    # Output: True
print(is_integer_4("12.34"))   # Output: False

В этой статье мы рассмотрели несколько методов проверки того, является ли строка целым числом в Python. Мы рассмотрели такие методы, как использование методов isdigit()и isnumeric(), использование регулярных выражений и использование обработки ошибок с помощью блоков try-Exception. В зависимости от вашего конкретного варианта использования вы можете выбрать наиболее подходящий метод проверки строк как целых чисел в ваших программах Python.

Не забывайте обрабатывать потенциальные крайние случаи и исключения в соответствии с вашими требованиями. Используя эти методы, вы можете обеспечить целостность своих данных и повысить надежность своих приложений Python.