miércoles, 11 de mayo de 2016

T1. A VUELTAS CON LA FUNCIÓN PRINT().

FORMACIONES ROCOSAS Y PAISAJE DE LA LADERA ALTA DE TAMAIMO, OESTE DE TENERIFE.
      No hay que esforzarse mucho para deducir que la función print(), sobre todo, para los que estamos haciendo nuestros primeros pinitos en programación, representa la función más popular, la que tenemos en mente siempre que estamos programando o escribiendo un código ("¡Uyyy! ¡Qué nervios! ¿Que pasará cuando escriba print(lo que sea)? ¿Lo habré hecho todo bien? ¿Me saltará una excepción en rojo chillón como la copa de un pino?"). Casi la función de funciones, la función por antonomasia, la repera, vamos.
Y sin embargo, si nos paramos a reflexionar un poco la mayor parte de los ejemplos que hemos estado viendo hasta ahora, podremos inferir que tampoco hemos recurrido a ella en extenso. Y sí, amigos: es posible vivir sin ella del mismo modo que, aunque parezca mentira, es posible vivir sólo con el fijo de casa, sin una página de Facebook o sin el mismísimo Whatsapp en nuestros móviles.
O dicho de otro modo: recurrir a ella sólo cuando realmente fuera necesario, que no sólo se peca por defecto sino, mayormente, por exceso.
Para estos casos, no estaría de más  profundizar un poquito más en lo que la función nos ofrece.
Cuando solicitamos una impresión en pantalla para que se nos devuelva a la vista un resultado, si éste nos muestra más de un elemento éstos se separan dejando un único espacio en blanco entre ellos. Si queremos que haya más, tendremos que "jugar" con los caracteres literarios en blanco recurriendo a las comillas.



Por otro lado, una seriación de funciones print() separadas por puntos y comas devuelven un iterado, esto es, sendos saltos de línea por elemento a mostrar.


Ahondando más en lo que la función nos puede ofrecer nos encontramos que soporta como argumento el constructo sep=' ' que, como su nombre insinúa, separa unos datos de otros utilizando el carácter, o los caracteres, que coloquemos entre las comillas. Por defecto, si no ponemos ninguno, recurrirá al consabido "whitespace", el espacio en blanco.



Incluso podemos emplear como separadores a los escapes, como el de tabulación (\t) o el de salto de línea o  iteración (\n). En el caso del primero, los resultados pueden no ser tan vistosos cuando los datos tienen un tamaño, lenght, distinto, tal y como podemos observar en el ejemplo que sigue. Resulta más agradable a la vista cuando trabajamos con datos que tienen un tamaño más o menos similar o, aún mejor, para mostrar datos numéricos de tipo int, float, bytearray, etc. Fijémonos qué podemos hacer en el caso de la iteración, para evitar que en la columna que nos devuelve la función print(), el primer ítem aparezca descolocado con respecto a los demás. Como en 1. podemos separar con un único "whitespace" la primera comilla del primer carácter del primer ítem, como en 2.


Contamos también con el constructo end=' ', que suele emplearse cuando aplicamos la función print() a un script del que esperamos que nos devuelva una iteración que, sin embargo, preferimos leer en una misma línea de código.


Incidiendo en este último aspecto, observamos cómo el constructo end=' ' admite el escape para el salto de línea o iteración, que como podemos comprobar, no tiene efecto alguno frente a una iteración en tanto que se trata de una redundancia. Sí, por el contrario, tiene un efecto mensurable cuando introducimos el escape de tabulación 1. y 2. En 3. podemos ver cómo admite también caracteres separadores cuando aplicamos el constructo a un iterado. Sin embargo, cuando aplicamos lo propio a un no iterado, el carácter aparece asociado tan sólo al último ítem que nos devuelve print(), en 4.


Fijémonos ahora en la conjunción de los constructo end=' ' y sep=' ' en una única función print().


Demostrándose que el uso de ambos en una misma función print() no sólo no es incompatible sino, incluso, deseable de acuerdo a nuestras expectativas sobre cómo debe mostrase un resultado.



FRENTE DE PINAR EN ARGUAYO CON ALMENDROS EN FLOR EN PRIMER PLANO, OESTE DE TENERIFE.


No hay comentarios:

Publicar un comentario