Разница между методами isdigit() и isdecimal() в Python заключается в том, как они проверяют, состоит ли строка только из десятичных цифр: pythonhint.com
- isdecimal() возвращает True, если все символы в строке — десятичные цифры (0–9) и в строке есть хотя бы один символ, в противном случае — False. pythonhint.com Этот метод рассматривает только десятичные цифры и не принимает во внимание дробные цифры или символы, используемые в других числовых системах. pythonhint.com
- isdigit() возвращает True, если все символы в строке — цифры и в строке есть хотя бы один символ, в противном случае — False. pythonist.ru Кроме десятичных цифр, этот метод принимает во внимание надстрочные и подстрочные символы, которые используются в числовых формах Unicode. pythonhint.com
Таким образом, isdecimal() можно использовать с любой строкой, а isdigit() — только со строками, которые содержат цифры ASCII или цифры из других скриптов. pythonhint.com