Contenido del capítulo

Uno de los conceptos más importantes, ya no solo de la programación, sino de la informática a nivel general, es la entrada y la salida de datos. En este capítulo, te voy a explicar estos dos conceptos mediante las funciones predefinidas de Python: print() e input().

Duración estimada de todo el contenido:
Duración de los vídeos:
No contiene ejercicios para resolver. Contiene 2 vídeos.
Tabla de contenidos
Logo

    Introducción al manejo de datos con Python

    Demos comienzo a este capítulo con la salida de datos utilizando la función predefinida print() de Python.

    La función predefinida print()

    La función predefinida print()
    La función predefinida print()

    La función predefinida print() es una función de salida de datos. Gracias a ella podemos extraer información de dentro de un programa y verla en la consola.

    A esta acción de extracción de la información, se le denomina en programación o en informática general, como “salida” a secas, o “salida de datos”.

    El término inglés output se utiliza para referirse a la salida de datos en español.

    Espacio publicitario

    Veamos los parámetros internos de esta la función:

    print(*objects, sep=' ', end='\n', file=None, flush=False)
                        

    No voy a explicar como funciona todo de manera profunda, ya que hay cosas, que se quedarían muy lejos de lo básico, que pretendo enseñar en este punto del curso.

    El parámetro *objects

    El primer parámetro, *objects, es una característica de Python llamada *args, la cual, nos permite pasarle un ilimitado número de objetos (argumentos) a la función que la utiliza.

    Objects en español significa objetos.

    En Python, las cosas están formadas por objetos. Por ejemplo, una cadena (str) es un objeto, un int, es otro objeto.

    Este tema lo entenderás mucho mejor cuando estudies programación orientada a objetos. Por el momento no te preocupes por entenderlo en profundidad. Todo a su debido tiempo.

    Explicado de la forma más simple posible, te diré que el parámetro *objects permite que le pases a la función tantos objetos como quieras. Objetos que pueden ser cadenas, números enteros, números decimales, etc.

    También permite que le pases todo tipo de expresiones como puede ser una suma, una evaluación de algo, etc. Si pasas más de uno de estos elementos en un mismo print(), deberán ir separados por comas, de forma que el intérprete de Python entienda que son varias cosas.

    Aquí tienes un ejemplo de su posible funcionamiento, con varios objetos:

    print("El resultado","de sumar",10,"más",50.65,"es:",10+50.65)
    Resultado en la consola
    El resultado de sumar 10 más 50.65 es: 60.65

    En este ejemplo, le acabo de pasar siete objetos a la función print(), cuatro str, un int, un float y una expresión (concretamente una suma).

    El parámetro sep

    Quizás te hayas dado cuenta de que en la salida de la consola, tenemos espacios que aparecen automáticamente. Yo no se los he pasado a la función print(), pero aparecen concretamente donde va cada coma separadora de objetos en la función.

    Espacio publicitario

    Este comportamiento está producido por el parámetro de la función, llamado sep.

    Si te fijas en el valor que tiene el parámetro sep, verás que es una cadena de caracteres (str), con un simple espacio:

    sep=' '

    Esto quiere decir, que tras cada objeto que le pasamos a la función, se aplica un espacio en el resultado final de la consola. Esto ayuda a presentar los espacios con un separador de los elementos.

    El nombre de parámetro sep proviene del inglés separator, qué significa separador en español.

    Saltos de línea y el parámetro end

    Los saltos de línea son una parte importante, ya sea sobre la consola, o sobre aplicaciones finales. Simplemente, se trata de un carácter especial, que indica el final de una línea y hace que comience otra. Es lo que ocurre cuando presionas la tecla ENTER en un procesador de texto, como puede ser el Bloc de notas o Nano.

    En Python, para representar este carácter, lo hacemos con este elemento:\n.

    Este elemento se puede utilizar en sitios como las variables, en un print(), o en otros sitios que irás descubriendo.

    Fíjate en como aparecen las cadenas de caracteres, en la salida de la consola, gracias a estos saltos de línea:

    print("Línea 1\n" + "Línea 2\n" + "Línea 3")
    Resultado en la consola
    Línea 1
    Línea 2
    Línea 3

    Los saltos de línea se representan dentro de las cadenas de caracteres. Si los escribes fuera de las comillas, recibirás un error de sintaxis.

    Para referirnos a los saltos de línea en inglés, lo podemos hacer con line breaks.

    Break significa romper, por lo que si traducimos esa frase al español, nos queda “roturas de línea”, que realmente, es lo que hace, “rompe” la línea y empieza una nueva.
    “n” de “\n”, proviene del término inglés newline que significa nueva línea en español.

    Espacio publicitario

    Ahora, fijémonos otra vez en los parámetros de la función print(). Tenemos un tercer parámetro llamado end='\n'. Este lleva una cadena de caracteres con un salto de línea incorporado. Entonces, ya hemos descubierto porque al poner varios print(), estos salen en diferentes líneas en la consola.

    print("Línea 1")
    print("Línea 2")
    print("Línea 3")
    Resultado en la consola
    Línea 1
    Línea 2
    Línea 3

    La función input()

    La entrada de datos se refiere a la información que el usuario introduce en un programa.

    En Python podemos utilizar la función predefinida input() para manejar la entrada de datos en la consola.

    El término inglés input se utiliza para referirse a la entrada de datos en español.

    La función input() se utiliza para solicitar al usuario que introduzca datos en la consola. Estos datos se pueden almacenar en una variable, que podrá ser utilizada más adelante en el programa.

    Por ejemplo, si queremos que el usuario (de momento somos nosotros los usuarios) introduzca su nombre, podemos utilizar esta función de la siguiente manera:

    nombre = input("Por favor, introduce tu nombre: ")

    Esto hace que la consola nos permita escribir sobre ella, y enviar dicha información al programa.

    Al ejecutar esa línea de código, escribimos lo que sea y pulsamos la tecla ENTER , para enviarlo al programa. Por este motivo se llama entrada de datos, ya que estamos entrándolos en el programa.

    En cambio, con print(), lo llamamos salida de datos, porque es el programa el que extrae datos en la consola.

    Con la salida no podemos hacer nada más que observar un resultado. El programa no hará nada con esos datos. Solo mostrarlos.

    Ejecuta el código anterior, el que lleva el input().

    Ahora verás, que en la consola te pide un nombre; escríbelo:

    Resultado en la consola
    Por favor, introduce tu nombre: Enrique

    Si has puesto tu nombre como yo, y has pulsado la tecla ENTER , se habrá guardado en la variable nombre ese valor. Sin embargo, si no hacemos nada con ese nombre almacenado en el código, no sirve de nada, ya que el programa solo servirá para guardarlo en la variable, pero no hará nada más con él.

    Espacio publicitario

    Para hacer algo con la entrada, debemos indicarlo con código.

    La forma más sencilla es utilizar el valor para mostrarlo en la consola, con un print().

    Ten en cuenta que al estar el nombre almacenado en una variable, podemos hacer todo tipo de operaciones con él, no solo imprimirlo. Irás viendo muchos ejemplos a lo largo de tu aprendizaje, y en este mismo curso.

    # Entrada de datos
    nombre = input("Por favor, introduce tu nombre: ")
    
    # Salida de datos
    print("El nombre almacenado es: " + nombre + ".")
    Resultado en la consola
    Por favor, introduce tu nombre: Enrique
    El nombre almacenado es: Enrique.

    Si quieres que el prompt (donde escribes los datos de entrada en la consola), aparezca en la línea de abajo, y no al lado, añade un simple salto de línea, dentro del mensaje del input():

    # Entrada de datos
    nombre = input("Por favor, introduce tu nombre:\n")
    
    # Salida de datos
    print("El nombre almacenado es: " + nombre + ".")
    Resultado en la consola
    Por favor, introduce tu nombre:
    Enrique
    El nombre almacenado es: Enrique.

    Tipos de datos en las entradas

    Cuando utilizas la función input() en Python, el dato que se guarda siempre es de tipo str (cadena de texto). Esto significa que cualquier cosa que escribas se almacenará como texto, no como un número. Ahora, sabiendo esto, ¿qué crees que ocurre si quieres usar estas entradas para hacer operaciones aritméticas? Probemos con el siguiente ejemplo utilizando los valores 10 y 20:

    # Solicita dos números para sumar
    numero_1 = input("Introduce el primer número a sumar: ")
    numero_2 = input("Introduce el segundo número a sumar: ")
    
    # Realiza y guarda la suma
    suma = numero_1 + numero_2
    
    # Muestra el resultado
    print(suma)
    Resultado en la consola
    1020

    El resultado es 1020 porque el intérprete de Python está juntando los dos valores como texto en lugar de sumarlos numéricamente. Esto sucede porque ambos valores se almacenan como str (cadenas de texto) en lugar de int (números enteros).

    Espacio publicitario

    En Python, cuando sumas dos cadenas de texto, el intérprete las une en una sola cadena. Este proceso se llama concatenación. Por eso, en vez de sumar los números, se combinan los dos “textos”.

    Los valores realmente almacenados por input() en el ejemplo anterior son estos:

    numero_1 = "10" # Cadena de texto, no número
    numero_2 = "20" # Cadena de texto, no número
    
    suma = "10" + "20" # Resultado de la concatenación: "1020"
    print(suma) # Muestra: 1020

    Muy pronto te enseñaré a concatenar, y a hacer conversiones de tipos de datos, para que puedas decidir si lo que se guarda en una variable es un str, u otro tipo de dato.

    Espacio publicitario




    Espacio publicitario



    Espacio publicitario