Как мне ввести литерал бесконечности с плавающей точкой в python?
Я слышал
inf = float('inf')
не является переносимым. Таким образом, я рекомендовал следующее:
inf = 1e400
Это либо стандарт, либо портативный? Что такое лучшая практика?
В Python 2.6 он переносим, если процессор поддерживает его
Функция float () теперь будет поворачивать струнный нан в IEEE 754 не A Числовое значение и + inf и -inf в положительная или отрицательная бесконечность. это работает на любой платформе с IEEE 754 семантика.
float('inf') является непереносимым, как в непереносимом назад к Python 2.5, когда вывод строки зависит от платформы. Начиная с версии 2.6 float('inf') гарантированно работает на платформах, соответствующих стандарту IEEE-754 (ref: http://www.python.org/dev/peps/pep-0754/).
float('inf')
(И, похоже, рекомендация находится в диапазоне 1e30000, а не только 1e400.)
Возможно, вы могли бы сделать что-то вроде этого
try: inf = float('inf') except: # check for a particular exception here? inf = 1e30000