Contenido del capítulo

En este capítulo se explica brevemente lo que son las constantes y de qué forma las trata Python.

Duración estimada de todo el contenido:
Duración del vídeo:
Contiene 2 ejercicios de Python para resolver. Contiene 1 vídeo.
Tabla de contenidos
Logo

    ¿Existen las constantes en Python?

    Las constantes en programación general, son valores que no cambian durante la ejecución del programa (en tiempo de ejecución), y su valor permanece constante a lo largo del código. A diferencia de las variables, cuyo valor puede cambiar en tiempo de ejecución.

    Las constantes y el manejo de avisos
    Las constantes y el manejo de avisos

    De ahí vienen los nombres de estos dos elementos: “variable” puede variar, y “constante”, tiene que tener un valor constante.

    En programación, cuando hablamos de “en tiempo de ejecución”, nos referimos a cuando el programa está ejecutándose. En ese momento, el programa no cambia su código. Si tocas el código del programa en el editor de código, los cambios no se harán efectivos hasta reiniciar el programa.

    Entonces, cuando hablo de que algo ocurre en tiempo de ejecución, me refiero a eso, mientras se está ejecutando el programa.

    En tiempo de ejecución se puede traducir al inglés como at runtime.

    Espacio publicitario

    Es importante tener en cuenta que Python no tiene un tipo de dato o contenedor específico para definir constantes, como si lo tienen otros muchos lenguajes de programación.

    Python, pese a no contar con un elemento específico llamado constante, sí que tiene la posibilidad de manejar valores constantes. Estos los podemos manejar con elementos llamados tuplas. Tema que vas a ver muy pronto.

    Sin embargo, no son constantes estrictamente si hablamos del término utilizado en programación.

    Por convención, para especificar en el código que queremos que una variable se trate como constante, se escribe su nombre completamente en mayúsculas. De ese modo, indicamos que no debe cambiarse su valor en ningún momento, pero lo hacemos de forma simbólica, siguiendo la convención de nomenclatura de Python. No hay un mecanismo implicado que impida que el valor de esa variable, ahora constante, sea reasignado.

    Según las convenciones de Python, si ves un elemento como el que tienes a continuación, es algo que solo puedes inicializar, pero nunca reasignar (poder puedes, pero no debes):

    CONSTANTE_PI = 3.1415926

    Entonces, que te quede claro que las constantes en Python no son más que variables escritas con el nombre en mayúsculas, para distinguir los datos que ponemos en ellas.

    Al ver una variable escrita en mayúsculas, la deberás tratar como constante. Esto lo sabes tú ahora, y lo sabe cualquier persona que sepa programar en Python.

    Quizás en futuras versiones de Python, añadan las constantes “reales”, las cuales no haya forma de reasignar en el código, como en otros lenguajes de programación. Pero por el momento, no hay noticias en el horizonte de que se vaya a hacer.

    Pylint y las constantes

    La extensión Pylint te dará mucha información de ayuda, sobre todo cuando tengas algo más de experiencia con Python. Pylint, en muchas ocasiones nos marcará el siguiente aviso informativo:

    Constant name "nombre_variable" doesn't conform to UPPER_CASE naming style.

    El nombre de la constante “nombre_variable” no se ajusta al estilo de nomenclatura en MAYÚSCULAS.

    Este aviso informativo sale de un código tan simple como este:

    nombre_variable = 10

    No se trata de un error; solo nos avisa que estamos incumpliendo la convención de nombrar las constantes en mayúsculas.

    ¿Por qué cree Pylint que esto es una constante? La respuesta es que si el valor no cambia en todo el programa, debería nombrarse con la norma de las mayúsculas, ya que estaría actuando como constante.

    Claro, en este contexto, y con solo esa línea de código, el valor no cambia. Sin embargo, si tenemos una variable sin valor literal, ahí ya no nos va a saltar el aviso:

    numero = input("Introduce un número")

    Ahora que estás empezando con Python, no te preocupes demasiado por este detalle. Importará más cuando estés desarrollando programas finales, y tengas que crear código limpio, para hacer programas bien hechos.

    Espacio publicitario

    Habrá veces en las que este aviso no tenga mucho sentido, así que no tienes que hacerle caso siempre.

    En resumen a todo lo explicado, utiliza variables con el nombre en mayúsculas (constantes) cuando quieras utilizar valores que no deben cambiar en el código, como por ejemplo, el valor de una constante como PI.

    En cambio, para cualquier cosa que pueda variar, utiliza variables (nombres en minúsculas).

    Constante en inglés se dice constant.

    Ejemplos de uso de variables y constantes

    Ejemplos de cosas que podrían ir en variables:

    • Edad
    • Teléfono
    • Lista con datos estadísticos
    • Temperatura
    • Nombre

    Ejemplos de cosas que podrían ir en constantes:

    • Número pi
    • Velocidad de la luz
    • Gravedad de un planeta

    Espacio publicitario




    Espacio publicitario


    Ejercicios de Python para resolver

    44. El siguiente código, ¿producirá algún error por reasignar la constante en la segunda línea?

    DIAS= 30
    DIAS = 31
    
    print(DIAS)

    No da error en Python; aunque el código no tenga sentido, por estar utilizando las constantes de esta forma.

    Recuerda que una constante, es una variable con el texto en mayúsculas, no es nada más en Python.

    45. ¿En cuáles de estos casos utilizarías una constante?

    1. Quieres guardar el dato de la velocidad de la luz, para hacer cálculos.
    2. Se necesita guardar el resultado de una operación aritmética, hecha con una calculadora con interfaz gráfica.

    A. En este caso, lo más lógico, sería usar una constante, ya que la velocidad de la luz, es un dato que no va a cambiar.

    B. En este otro caso, lo suyo será una variable, por el hecho de que no sabemos qué resultado va a dar una hipotética operación aritmética, que haga el usuario.



    Espacio publicitario