HOWTO · Python

Usar Pi en Python

En este tutorial usaremos el valor pi en Python

En esta página

Usa math.pi de la biblioteca estándar de Python cuando necesites una aproximación numérica de pi. Si el cálculo ya utiliza arrays de NumPy, numpy.pi encaja en ese contexto; para expresiones algebraicas que deban seguir siendo simbólicas, usa sympy.pi. Son constantes, no funciones que debas llamar. Los ejemplos siguientes muestran cuándo conviene cada forma, en qué se diferencia la conversión de ángulos de la obtención de pi y por qué una aproximación escrita a mano tiene principalmente un propósito educativo.

Accede a pi con la constante math.pi de Python

El módulo math de la biblioteca estándar es la opción más sencilla para los cálculos numéricos habituales y no requiere paquetes de terceros. Impórtalo y consulta directamente math.pi. El valor es una aproximación de punto flotante, por lo que los cálculos tienen precisión finita y no representan la constante matemática exacta.

Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

import math

radius = 5
area = math.pi * radius**2
print(f"Area: {area}")
Area: 78.53981633974483

Este ejemplo aplica la fórmula del área de un círculo, πr². El resultado es una aproximación numérica porque math.pi es un valor de punto flotante.

No escribas math.pi(); los paréntesis intentarían llamar a un valor que no es una función. Para la mayoría de los programas que necesitan pi como número, math.pi es la opción directa.

Usa la constante pi de NumPy para cálculos con arrays

Cuando el cálculo ya utiliza arrays de NumPy, su constante pi resulta práctica junto con las operaciones de arrays de NumPy. Importa NumPy como np y luego consulta np.pi (también denominada numpy.pi) sin paréntesis. Por ejemplo, puedes multiplicar un array de ángulos en grados por np.pi / 180 para convertir sus valores a radianes antes de aplicar una operación trigonométrica de NumPy.

Este ejemplo convierte tres valores en grados a radianes mediante un solo cálculo con arrays:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

import numpy as np

degrees = np.array([0, 90, 180])
radians = degrees * np.pi / 180
print(radians)
[0.         1.57079633 3.14159265]

NumPy es una dependencia de terceros, así que debe estar instalada en el entorno donde se ejecute el programa. Para un único cálculo escalar que no use NumPy, la constante de la biblioteca estándar math.pi evita esa dependencia. numpy.pi representa la misma constante numérica habitual; su ventaja práctica es la coherencia con el código orientado a arrays, no una precisión distinta.

Usa pi de SymPy para matemáticas simbólicas

Usa SymPy cuando una expresión deba permanecer simbólica para trabajar con álgebra, cálculo o manipulación de formas exactas, en lugar de convertirse inmediatamente en un cálculo de punto flotante. Con from sympy import pi, symbols, la expresión pi * x**2 mantiene pi y el símbolo x en forma simbólica. SymPy puede manipular la expresión como un objeto matemático; convertirla en una aproximación numérica es un paso aparte.

Esto difiere de math.pi y numpy.pi, que son valores numéricos de punto flotante. SymPy también es una dependencia de terceros. Elige sympy.pi cuando necesites operaciones simbólicas, en vez de importar SymPy solo para obtener un valor numérico de pi.

Convierte grados a radianes con math.radians

math.radians(degrees) convierte a radianes un ángulo medido en grados. Por ejemplo, math.radians(90) da una aproximación de punto flotante de π/2, mientras que math.radians(180) da una aproximación de π. Esta relación resulta útil para convertir un ángulo, pero no es la forma habitual de obtener pi: usa math.pi cuando necesites el valor directamente.

Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

import math

angle_degrees = 90
angle_radians = math.radians(angle_degrees)
print(f"Radians: {angle_radians}")
Radians: 1.5707963267948966

Para una secuencia de ángulos en un flujo de trabajo que ya utiliza NumPy, NumPy también ofrece conversión de grados orientada a arrays. Sin embargo, math.radians es una opción clara de la biblioteca estándar para un ángulo escalar.

Usa una aproximación personalizada de pi con fines educativos

Una aproximación decimal breve puede ayudar a demostrar cómo se usa una constante en una fórmula:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

PI = 3.141592653589793

diameter = 10
circumference = PI * diameter
print(f"Circumference: {circumference}")
Circumference: 31.41592653589793

Los dígitos asignados siguen siendo una aproximación finita, y copiarlos manualmente no aporta ninguna ventaja en el trabajo habitual. Para los cálculos numéricos ordinarios, es preferible math.pi; reserva un valor personalizado para lecciones sobre fórmulas, constantes o precisión de las aproximaciones.