Notación científica en Python

Manav Narula 30 enero 2023
  1. Usa la función format() para representar valores en notación científica en Python
  2. Utilizar las fstrings para representar valores en notación científica en Python
  3. Utilice la función numpy.format_float_scientific() para representar valores en notación científica
Notación científica en Python

La notación científica se utiliza para representar números muy grandes o pequeños de forma compacta y comprensible. Esta notación también se utiliza en programación; por ejemplo, 6000000 puede representarse como 6E+6. Del mismo modo, 0.000006 puede representarse como 6E-6.

En este tutorial, discutiremos cómo utilizar estas notaciones científicas en Python.

Usa la función format() para representar valores en notación científica en Python

La función format se utiliza para formatear cadenas en un formato específico. Podemos utilizar esta función para convertir valores float grandes o pequeños a su respectivo formato exponencial como se muestra a continuación:

no1 = float(5800000.00000)
no2 = float(0.0000058)
print(format(no1, ".1E"))
print(format(no2, ".1E"))

Producción :

5.8E+06
5.8E-06

Aquí .1E es el patrón de formato especificado. E indica notación exponencial para imprimir el valor en notación científica, y .1 especifica que tiene que haber un dígito después del decimal.

Utilizar las fstrings para representar valores en notación científica en Python

En Python 3.6 y superiores, podemos utilizar fstrings para formatear cadenas. Este método se considera más preciso y menos propenso a errores. Mejora la legibilidad del código en comparación con la función tradicional format(). fstrings puede ayudar en la representación, como se muestra a continuación.

no1 = float(5800000.00000)
no2 = float(0.0000058)
print(f"{no1:.1E}")
print(f"{no2:.1E}")

Producción :

5.8E+06
5.8E-06

Observe que el patrón de formato es el mismo que el del método anterior.

Utilice la función numpy.format_float_scientific() para representar valores en notación científica

El módulo NumPy de Python tiene una función format_float_scientific() que se puede utilizar para formatear un valor flotante a su notación científica.

Podemos utilizar el parámetro precision para especificar el total de dígitos decimales y el exp_digits para decir cuántos dígitos se necesitan en la notación exponencial. Otros parámetros disponibles son sign, unique y trim, que ofrecen más personalizaciones.

El resultado final devuelto por esta función es una cadena.

import numpy as np

no1 = float(5800000.00000)
no2 = float(0.0000058)

print(np.format_float_scientific(no1, precision=1, exp_digits=3))
print(np.format_float_scientific(no2, precision=2, exp_digits=3))

Producción :

5.8e+006
5.8e-006
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python String