Основное отличие методов isdigit() и isnumeric() при работе с Unicode заключается в том, как они обрабатывают числовые символы из разных систем письма. 3
isdigit() возвращает True, только если все символы в строке являются цифрами (включая все алфавитные символы, которые представляют цифры в Unicode). 4 Этот метод не обрабатывает специальные символы и знаки, например десятичные точки, знаки минус или разделители тысяч. 3 Также isdigit() не распознаёт цифры из других систем письма, например китайские или римские. 3
isnumeric() имеет более широкий охват и возвращает True для любых символов, которые являются числами в Unicode. 4 К ним относятся, например, дробные числа, римские цифры, числовые символы в других языках. 4
Таким образом, isdigit() подходит для работы со стандартными арабскими цифрами или символами ASCII, а isnumeric() — для ситуаций, связанных с нелатинскими цифрами, специальными символами или более широким спектром числовых представлений. 3