Cómo escribo un literal infinito de coma flotante en python
¿Cómo escribo un literal infinito de coma flotante en python?
He oído
inf = float('inf')
No Es portátil. Por lo tanto, me han recomendado lo siguiente:
inf = 1e400
Es cualquiera de estos estándar, o portátil? ¿Qué es la mejor práctica?
3 answers
En python 2.6 es portable si la CPU lo soporta
La función float () ahora girará la cadena nan en un IEEE 754 No A Valor del número, y + inf y-inf en infinito positivo o negativo. Este funciona en cualquier plataforma con IEEE 754 semántica.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-27 09:11:28
float('inf')
no es portable como en no portable back to Python 2.5 cuando la salida de cadena varía entre plataformas. A partir de la 2.6 float('inf')
está garantizado para funcionar en plataformas de cumplimiento IEEE-754 (ref: http://www.python.org/dev/peps/pep-0754/).
(Y la recomendación parece estar en el rango 1e30000, no solo 1e400.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-27 09:13:13
Tal vez podrías hacer algo como esto
try:
inf = float('inf')
except: # check for a particular exception here?
inf = 1e30000
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-24 07:10:34