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