Las constantes son valores que permanecen intactos a través de la ejecución de un programa y que nadie puede modificar después de la primera asignación.
En Python (y Python 3) las constantes no existen pero pueden ser simuladas. Hoy veremos por qué usar una constante, cómo declararla y algunos usos que le podemos dar en Python.
En resumen, veremos cómo usar constantes en Python.
Constantes en Python
No hay constantes en Python, pero sí hay forma de declarar una constante y esperar a que los demás respeten. Al final, la constante será una variable pero con un nombre característico.
Recordemos que por regla general (para indicar que es una constante) las constantes se indican con mayúsculas, y si tienen espacios se sustituyen por guiones bajos. Por ejemplo:
VERSION_DE_MI_PROGRAMA = "1.2.1.3"
Eso lo podemos declarar en la parte superior de nuestro programa y podremos leerla desde otros lugares (mira sobre las variables globales aquí).
Lo malo de esto es que, en cualquier momento, otro programador puede modificar la constante, porque de que puede, puede; aunque no debería.
De todos modos, no te preocupes. Intenta ser un buen programador y espera que los demás hagan lo mismo.
Uso de las constantes en Python
El uso de las constantes no está directamente ligado a Python, pues hay constantes en todos los lenguajes de programación. Las constantes son valores que no cambian a través del tiempo pero que necesitamos conocer.
Algunos ejemplos de constantes que a veces uso son:
RUTA_API_SERVIDOR = "http://algun.sitio/asd"
Ya que si un día cambio la ruta, tendré que cambiarla una vez y listo. También la he usado para definir el correo del administrador en caso de error
CORREO_ADMIN = "correo@sitio.com"
De hecho nadie nos limita a escribir constantes. Eso sí, recuerda esto:
Si ves una constante nunca la modifiques, si está ahí es por algo. Aunque el lenguaje lo permita, no debes hacerlo.
¿Cuándo usar constantes?
Cuando vayas a usar un valor literal, mejor pon una constante. Supongamos un ejemplo sencillo en donde hacemos un programa de nóminas y le descontamos 15 pesos a cada empleado. Quedaría más o menos así:
sueldo_final = subtotal - 15
Pero espera un momento, justo ahí es mejor utilizar una constante. ¿Por qué? por dos cosas:
- Si te piden que ahora se descuenten 20 pesos, cambias el valor de la constante y listo
- Si en otro lugar tienes que volver a usar el valor (por ejemplo para un reporte) es mejor leerlo desde un mismo lugar
Claro, yo sé que ese valor podría ser configurable desde una base de datos pero recuerda que estoy dando ejemplos.
Resumen
No hay constantes en Python, así que sólo queda declarar una variable con un nombre característico, asignarle un valor y nunca modificarlo.