Python – Capítulo 31: Exprimiendo la función print

Si hay que dar el premio a la popularidad a una función, es sin duda print la ganadora. No sólo en Python, sino en cualquier otro lenguaje de programación. ¿Qué sería de nuestros motivantes Hola mundo sin ella?

El uso básico lo aprendimos desde el primer momento, pero hoy vamos a sacarle algo de punta…

Comencemos repasando el comportamiento por defecto. Observa la salida del siguiente comando:

>>> print("pepino","tomate")
pepino tomate

Primer punto a observar: print() separa cada argumento empleando un espacio en blanco.

Fíjate ahora en esto:

>>> print("pepino");print("tomate")
pepino
tomate

Segundo punto: cada impresión con print() concluye con un salto de línea.

Podemos controlar con facilidad ambos comportamientos. Es tan sencillo como indicarlo en la propia función print().

La función print() admite un argumento, llamado sep, que contiene la cadena de caracteres que emplearemos para separar cada elemento. Si no se especifica, toma su valor por defecto, un espacio en blanco, sep=" ". He intercalado un espacio entre ambas comillas y da igual que sean simples o dobles.

Por ejemplo, el siguiente comando separa los distintos elementos empleando un guión:

>>> print("pepino","tomate",sep="-")
pepino-tomate

Este otro separa cada elemento con tres espacios en blanco:

>>> print("pepino","tomate","lechuga",sep="   ")
pepino   tomate   lechuga

Podemos hacer que la separación sea exactamente un tabulador, que ya sabes que se representa con el siguiente carácter de escape: \t.

>>> print("pepino","tomate","lechuga",sep="\t")
pepino  tomate  lechuga

Generemos ahora una salida sin separación entre cada palabra:

>>> print("pepino","tomate","lechuga",sep="")
pepinotomatelechuga

Los dos pares de comillas han sido escritos sin un espacio en blanco entre ellas.

Si queremos separar las palabras elegantemente, podemos utilizar como separador una coma junto con un espacio en blanco:

>>> print("pepino","tomate","lechuga",sep=", ")
pepino, tomate, lechuga

Quiero que te fijes bien en que el separador sólo se coloca entre medias de los elementos, y no al final. Pero puedes indicar también cómo quieres que termine la impresión empleando un nuevo argumento opcional, end. Si no se especifica, toma su valor por defecto, que como hemos dicho, provoca un salto de línea, representando por el carácter de escape \n.

El siguiente ejemplo finaliza la impresión con dos guiones:

>>> print("pepino","tomate","lechuga",end="--")
pepino tomate lechuga--

Si queremos que la salida de un print() no provoque un cambio de línea y nos deje el cursor para que el siguiente print() continúe justo donde acabó el anterior, debemos facilitar el siguiente argumento: end=''. Date cuenta de que no hay ningún espacio en blanco entre ambas comillas (también podría haber empleado comillas dobles en vez de simples).

Observa ahora el resultado de estas dos instrucciones:

>>> print("pepino",end="");print("tomate")
pepinotomate

Tal como era de esperar, ambas palabras han aparecido juntas, continuando la segunda justo donde termina la primera.

Un último ejemplo, para finalizar, en el que combinaremos ambos argumentos:

>>> a='Azul'
>>> b='Verde'
>>> c='Rojo'
>>> print(a,b,c,sep=', ',end='.')
Azul, Verde, Rojo.

No es necesario comentar nada, ¿verdad?

Javier Montero Gabarró


Python – Capítulo 31: Exprimiendo la función print


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta