Метод Python3 isdigit()
Описание
Метод isdigit() в Python проверяет, состоит ли строка только из цифр.
Синтаксис
Синтаксис метода isdigit():
str.isdigit()
Parameters
- Нет.
Возвращаемое значение
Возвращает True, если строка содержит только цифры, в противном случае возвращает False.
Пример
Следующий пример демонстрирует метод isdigit():
Пример
#!/usr/bin/python3
str = "123456";
print (str.isdigit())
str = "Example example....wow!!!"
print (str.isdigit())
str = "123456";
print (str.isdigit())
str = "Example example....wow!!!"
print (str.isdigit())
Вывод вышеприведённого примера выглядит следующим образом:
True False
Метод isdigit() предназначен только для положительных целых чисел; для отрицательных чисел и десятичных дробей он возвращает неверные результаты.
Вы можете использовать следующую функцию, чтобы
Пример
# Определить, является ли это числом
def⟧is_number is_number(s):
try: # Если выражение float(s) может быть выполнено, вернуть True (строка s является числом с плавающей точкой)
float(s)
return True
except ValueError: # ValueError — стандартное исключение Python, означающее "передан недопустимый аргумент"
pass # Если возникает исключение ValueError, ничего не делать (pass: ничего не делать, обычно используется как заполнитель)
try:
import unicodedata # Пакет для обработки ASCII-кодов
unicodedata.numeric(s) # Функция, которая преобразует строку, представляющую число, в float и возвращает его
return True
except (TypeError, ValueError):
pass
return False
print(is_number(1))
print(is_number(1.0))
print(is_number(0))
print(is_number(-2))
print(is_number(-2.0))
print(is_number("abc"))
Результат вывода:
True True True True True False
Другие расширения
Строки в Python3