La culebra verde

Comparte!

Con la vista puesta en el procesamiento de datos, Data Science, Machine Learning, y demás, ya hace un par de meses que vengo dedicando un tiempo para aprender Python, uno de los lenguajes mas usados en esas áreas.

Python es un lenguaje de programación creado a finales de los ochenta​ por Guido van Rossum en el Centro para las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informática), en los Países Bajos, como un sucesor del lenguaje de programación ABC. Este es un lenguaje interpretado, multiparadigma, de tipado dinámico, con soporte para múltiples plataformas, es decir, que pueden correrlo en Windows, Linux, macOS, incluso en una Raspberry Pi, y además es código abierto, grátis, incluso para su uso comercial.

En mi caso, viniendo de lenguajes que poseen sintaxis ISO, como C, C++, C#, PHP, incluso Javascript; me pareció un poco rara la sintaxis de Python al primer contacto. Los bloques de código por ejemplo, es decir, las funciones, condiciones, bucles, etcétera; necesitan una indentación ordenada para que el programa funcione correctamente. Por ejemplo si corres el siguiente código te dará error:

Pero si agregas un espacio, o tab antes del “print” y lo ejecutas nuevamente, funcionará correctamente.

Lógicamente si se agregan otros bloques de código dentro de la definición de la función también necesitará mantener una indentación, por ejemplo:

El mas pequeño cambio en esa indentación y se rompe el programa.

Es una sintaxis diferente, pero de igual manera son cosas que uno se acostumbra a medida que va usando el lenguaje, y la verdad uno termina aceptando que está muy bueno por que prácticamente nos obliga a crear un código prolijo, leíble.

Entre tantas cosas que me agradaron de Python están  los slices. Con los slices puedes trabajar sobre listas e incluso sobre textos simples, y extraer porciones de estos de manera muy práctica. Por ejemplo, si tengo la siguiente lista de dos dimensiones, una de nombres, y otra de apellidos :

Y supongamos que quisiera extraer los dos últimos apellidos, sería algo tan simple como:

Básicamente la sintaxis sería: [comienzo:final-1].
En el ejemplo anterior con el [1], y tomando en cuenta de que se cuenta desde 0, estaríamos haciendo referencia al la “fila” de los apellidos. A continuación [-2:], con el “-2” en donde sería el “comienzo”, y tomando en cuenta que “comienzo=0” sería el primer ítem de los apellidos, deducimos que lo que hace Python al pasarle un número negativo es comenzar a contar desde el final a partir que le pasamos -1; por eso la posición “comienzo=-1” en los apellidos sería “hermenegilda”, y -2  la posición de “lozano”.  Y por último lo que sería la posición “final”, al estar vacío retorna todo lo que haya a partir de “comienzo”, entonces es así que [-2:0] me retorna una lista con los dos últimos apellidos [“lonzano”, “hermenegilda”]. Parece complicado, quizás mas explicado en texto así, pero practicando se vuelve muy fácil.

Aquí unos ejemplos y ya de paso puedes hacer pruebas:

Y así hay montones de “cositas” que lo hacen muy práctico.

Mas allá de que el “core” de Python está muy prolijo, existen cientos de librerías que están disponible de forma totalmente gratuita, y que abarcan cosas complejas como implementación de machine learninganálisis de datos, o cosas mas simples como un servidor web, extendiendo el lenguaje a niveles mucho mas avanzados, pero sin dejar de ser práctico.

En YouTube hay montones de cursos y tutoriales, aquí les dejo uno en español del canal Código Facilito que está prolijo.

Y tengan cuidado, no sea que los muerda la culebra. =)

Buenas noches.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *