Я на самом деле только что натолкнулся на это, но для меня это была проверка на nan, -inf или inf. Я просто использовал
if float('-inf') < float(num) < float('inf'):
Это верно для чисел, false для nan и обоих inf, и создаст исключение для таких вещей, как строки или другие типы (что, вероятно, хорошо). Также это не требует импорта каких-либо библиотек, таких как математика или numpy (numpy настолько чертовски большой, что удваивает размер любого скомпилированного приложения).