У меня есть функция Python, которая принимает числовой аргумент, который должен быть целым числом, чтобы он вел себя корректно. Каков предпочтительный способ проверки этого в Python?
Моя первая реакция - сделать что-то вроде этого:
def isInteger(n):
return int(n) == n
Но я не могу не думать о том, что это 1) дорогой 2) уродливый и 3) с учетом нежных милостей машинного эпсилона.
Предоставляет ли Python какие-либо собственные средства переменных проверки типов? Или это считается нарушением языка динамически типизированного дизайна?
РЕДАКТИРОВАТЬ: поскольку многие люди спрашивали - приложение, о котором идет речь, работает с префиксами IPv4, используя данные из текстовых файлов. Если какой-либо вход обрабатывается в float, эта запись должна рассматриваться как некорректная и игнорироваться.