Существующие ответы верны в том смысле, что более Pythonic путь обычно к try...except
(т.е. EAFP).
Однако, если вы действительно хотите выполнить проверку, вы можете удалить ровно 1 десятичную точку перед использованием isdigit()
.
>>> "124".replace(".", "", 1).isdigit()
True
>>> "12.4".replace(".", "", 1).isdigit()
True
>>> "12..4".replace(".", "", 1).isdigit()
False
>>> "192.168.1.1".replace(".", "", 1).isdigit()
False
Обратите внимание, что это не относится к плавающим предметам, однако отличается от целых. Вы можете добавить эту проверку, если она вам действительно нужна.