str.isnumeric()
Метод isnumeric() проверяет, состоит ли строка только из числовых символов. Это самый широкий из тестов на числа: помимо обычных цифр и индексов учитываются дроби (½), римские цифры (Ⅳ) и любые другие символы с Unicode-свойством «Numeric».
Сигнатура
str.isnumeric()
Параметры
Метод не принимает параметров.
Возвращаемое значение
True, если строка не пустая и все её символы являются числовыми по Unicode. Иначе — False. Знак -, точка и пробел дают False.
Примеры использования
Пример 1. Простые цифры.
print("12345".isnumeric())
print("3.14".isnumeric())
print("".isnumeric())
True
False
False
Пример 2. Дроби и римские цифры.
print("½".isnumeric())
print("Ⅳ".isnumeric())
print("¾".isnumeric())
True
True
True
Пример 3. Сравнение isdecimal / isdigit / isnumeric.
for s in ["7", "²", "½", "Ⅳ"]:
print(s, s.isdecimal(), s.isdigit(), s.isnumeric())
7 True True True
² False True True
½ False False True
Ⅳ False False True
Пример 4. Отрицательное число.
print("-10".isnumeric())
False
Пример 5. Фильтрация только числовых токенов.
tokens = ["9600", "ESP32", "½", "D13", "Ⅴ"]
numeric = [t for t in tokens if t.isnumeric()]
print(numeric)
['9600', '½', 'Ⅴ']
См. также
str.isdigit() — более узкий тест на цифры
str.isdecimal() — только десятичные цифры
str.isalnum() — буквы и цифры
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.