En Python, no existe un mecanismo nativo específico para declarar constantes como en otros lenguajes de programación (por ejemplo, const
en PHP o JavaScript). Sin embargo, se sigue una convención de nomenclatura para definir valores que no deben cambiar durante la ejecución del programa. Esta convención consiste en usar nombres de variables en mayúsculas.
Las constantes se definen como variables normales, pero con un nombre en mayúsculas para indicar que su valor no debe modificarse.
Ejemplo:
PI = 3.1416
GRAVITY = 9.8
APP_NAME = "MiAplicación"
Aunque técnicamente estas "constantes" son variables y se pueden modificar, la convención del nombre en mayúsculas indica a los programadores que no deberían hacerlo.
Otra forma de manejar constantes es definirlas dentro de una clase y prevenir su modificación intencionada. Esto es útil para agrupar constantes relacionadas.
Ejemplo:
class Constantes:
PI = 3.1416
GRAVITY = 9.8
# Acceder a las constantes
print(Constantes.PI) # Salida: 3.1416
print(Constantes.GRAVITY) # Salida: 9.8
Aunque esto organiza mejor las constantes, aún se pueden cambiar si el programador accede directamente a ellas.
Un enfoque más estructurado es crear un archivo separado para las constantes. Por ejemplo, puedes tener un archivo llamado constantes.py
:
Archivo: constantes.py
PI = 3.1416
GRAVITY = 9.8
Archivo: main.py
import constantes
print(constantes.PI) # Salida: 3.1416
print(constantes.GRAVITY) # Salida: 9.8
Esto organiza mejor el código y reduce el riesgo de modificar las constantes accidentalmente.
typing.Final
Desde Python 3.8, se introdujo el tipo especial Final
en el módulo typing
para indicar que una variable no debería ser reasignada. Aunque no es obligatorio, puede servir como documentación y generar advertencias en herramientas como linters.
Ejemplo:
from typing import Final
PI: Final = 3.1416
GRAVITY: Final = 9.8
# PI = 3.14 # Esto generará una advertencia en linters
1. Por convención: Usar nombres en mayúsculas para declarar constantes.
2. Organización: Utilizar clases o módulos para agrupar constantes.
3. Opcional: Usar Final
para reforzar la intención de inmutabilidad.
Para más información, puedes consultar la documentación oficial de Python.
Jorge García
Fullstack developer