Contenido del capítulo

En este capítulo te enseñaré lo que son los valores literales con diferentes tipos de datos de Python.

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

    ¿Qué son los valores literales?

    Los valores literales - Python
    Los valores literales - Python

    Un valor literal es un valor que se escribe directamente en el código. Los valores literales pueden ser de diferentes tipos de datos, como int, str, bool, etc.

    Por ejemplo, esto es una cadena literal:

    frase = "Aprendiendo Python"

    Espacio publicitario

    Esta cadena no va a variar en el código. Sí que podemos hacer variar el valor de la variable, reasignando otro valor, pero la cadena escrita en esa línea de código, es literal.

    Realmente, en la reasignación reemplazas el valor literal por lo que reasignes. Lo cual implicará un nuevo dato, y no una modificación del anterior.

    A continuación tienes un ejemplo de lo que estoy diciendo:

    frase = "Aprendiendo Python"
    
    frase = "La frase ha cambiado totalmente"

    Tenemos la misma variable con dos cadenas literales en el código. Una está asignada en la primera línea, y la otra se asigna más adelante, pero son dos cadenas literales diferentes. La segunda reemplaza a la primera.

    ¿Cómo creamos cadenas que no sean literales?

    Podemos crear cadenas que no sean literales de varias formas. Una de ellas, es utilizando una entrada de datos:

    nombre = input("Introduzca su nombre:\n")
    
    print("Su nombre es: " + nombre)

    La variable nombre, contiene una cadena literal ("Introduzca su nombre:\n"). El contenido de la frase del input(), no va a cambiar; por eso es literal.

    En cambio, gracias a la variabilidad del input(), estamos haciendo que la cadena generada en el print(), no sea literal.

    La cadena final que sacará el print(), después de concatenar, es un conjunto entre la cadena literal "Su nombre es: ", y el valor no literal de la variable nombre. Lo que da finalmente, una cadena que no es literal.

    Para saber identificar qué cadenas son literales y cuáles no, es tan sencillo como que te hagas la siguiente pregunta.

    Antes de ejecutar el programa, ¿sabes el valor de la cadena?

    En el caso de la primera cadena puedes leer la frase, y no va a cambiar. Ya sabes su valor desde el principio. Sin embargo, no sabes el valor que va a tener exactamente la cadena resultante del print(), o el propio valor que va a tener la variable nombre. Eso dependerá de lo que escriba el usuario en la consola.

    Otros tipos de datos literales

    Los valores literales no son solo de tipo str. Son todos aquellos datos que sean estáticos (que no varíen).

    Por ejemplo, los siguientes valores numéricos son literales:

    numero1 = 10
    numero2 = 586

    Con la extensión Pylint de Visual Studio Code, puedes comprobar qué variables llevan valores literales. Te aparecerán mensajes informativos como este:

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

    La traducción al español es: El nombre de constante “numero1”, no se ajusta al estilo de nomenclatura en MAYÚSCULAS.

    Espacio publicitario

    Todavía no entraré mucho en detalles con este tema de las constantes, pero que sepas, que lo que está indicando, es que el nombre de constante debe ir en mayúsculas, debido a la convención de nombres de Python.

    Entonces, si está tratando esto como un valor constante, quiere decir, que es literal. Lo podemos deducir de esa información.

    En inglés, los valores literales se denominan literals

    Por lo tanto, cadena de caracteres literal, se dice en inglés literal string

    Valores literales sin soporte

    En Python es posible escribir valores literales sueltos en el código:

    "Este valor es literal y no tiene soporte, está 'suelto en el código'."

    Esto implica no poder utilizarlo en ningún punto del código. El intérprete de Python lo lee, pero no va a hacer nada con este elemento.

    El motivo es que como no tiene un identificador, no podemos hacer referencia al elemento en ningún momento.

    Recuerda las docstrings. Este tipo de comentario multilínea es una cadena literal sin soporte (sin identificador). Estas sí que las podremos utilizar de alguna manera sobre la consola y en Visual Studio Code en temas de documentación, pero ese ya es un tema más avanzado.

    Espacio publicitario




    Espacio publicitario


    Ejercicio de Python para resolver

    30. Sobre el siguiente código, indica cuál de estas instrucciones maneja un valor literal y cuál no.

    nombre = input("¿Cómo te llamas? ")
    print(nombre)

    La función input("¿Cómo te llamas?") contiene un valor literal, ya que el texto "¿Cómo te llamas?" es fijo y se muestra como mensaje al solicitar al usuario que ingrese su nombre.

    Sin embargo, el valor que se guardará en la variable nombre no es literal, ya que dependerá de lo que el usuario ingrese en tiempo de ejecución, lo cual hace que su valor sea dinámico y no fijo.


    Espacio publicitario