PROGRAMACIÓN & DATA

Cómo aprender a programar en Python: por dónde empezar

Las ventajas de Python son la sintaxis clara y legible, y los frameworks.
Fue el informático holandés Guido van Rossum quien lanzó Python. Aprovechaba su tiempo libre para crear un lenguaje de programación. Y cuando se sentía agotado, se dejaba caer en su sillón y veía la misma serie cada vez— «El Circo Volante de Monty Python». Su serie favorita dio el nombre a su proyecto.

Qué es Python

Python es un lenguaje de scripting. Los scripts son los códigos creados para resolver ciertas tareas.

Según TIOBE, en mayo de 2022 Python encabezó el rating de los lenguajes más populares de programación. Todo el mundo lo aprecia por su sencillez y versatilidad. Puedes empezar a codificar en Python justo desde tu primer día de aprendizaje. Por cierto, la formación técnica no es un requisito obligatorio para que entiendas cómo usar el programa.

Ventajas y desventajas

La sintaxis clara y la legibilidad. Mientras Java emplea cinco líneas, C — cuatro, Python se basta con una sola. Puedes diseñar un bloque aplicando una sangría y un espacio. Ya nada de corchetes.

Tipificación dinámica. Los programas normalmente procesan datos manipulando las variables. Para crear una variable en otros lenguajes de tipificación estática, tales como С, С++, TypeScript, eres tú quien indica el tipo de una variable. En cambio, Python asigna el tipo adecuado a una variable automáticamente. Este factor agiliza la programación.

Recolector de basura. Con Python no tienes que preocuparte por borrar la memoria. Si una parte del código deja de asociarse con un objeto, el recolector de basura la manda al administrador de memoria. Es un almacenaje adicional para los objetos menores de 512 B.

Frameworks. Los juegos de herramientas para completar ciertas tareas se llaman “frameworks”. Python tiene centenas de frameworks. Por ejemplo:

  • Pygame para crear juegos simples;
  • NumPy para aprendizaje automático;
  • SQLAlchemy para analizar bases de datos;
  • Bubot para los equipos robóticos. 

Velocidad. La tipificación dinámica y alta legibilidad facilitan la vida de un informático pero retrasan el rendimiento del programa. Python se destaca más por su velocidad de desarrollo que por la ejecución del código. En contraste, Swift corre las aplicaciones de iOS 10 veces más rápido. Python no es la mejor opción en cuanto a las tareas que requieren una memoria amplia. Opta por C o C++ mejor.

Dependencia de los frameworks. Supongamos que tenemos dos proyectos: A y B. Los dos se programaron con el framework C. El problema surge si se necesitan diferentes versiones de frameworks. Por ejemplo, 1.0.0 para el A y 2.0.0 para el B. Python no puede diferenciar las versiones en los catálogos.
Puedes utilizar Virtualenv y crear un ambiente virtual separado para cada proyecto pero no vas a evitar errores.

Global Interpriter Lock (GIL) es un mecanismo que impide que varios hilos modifiquen los objetos a la vez. Es el problema principal del rendimiento de Python. El código GIL no ha cambiado desde la primera versión del lenguaje. Esperemos que los desarrolladores recuerden este detalle en los próximos lanzamientos.

El salario promedio de un desarrollador Python

Según los datos de Glassdoor, el salario anual promedio en México ha alcanzado $475,244 MXN en 2022. El ingreso depende del rango de desarrollador: así los juniors empiezan con $430,560 MXN al año, los profesionales del segmento middle llegan a ganar $564,384 MXN al año, y el salario de los seniors alcanza hasta $662,928 MXN al año.

Tal y como la ventaja de ser un desarrollador Python es trabajar en remoto, podrías escoger cualquier parte del mundo para ejercer tus labores. Si comparamos el rango salarial de México con él de España, dependiendo del lugar donde vas a trabajar y tu perfil profesional, tu salario de programador junior sería de EUR 19,500 y los EUR 22,900 al año. Si eres un senior, tu rango salarial va desde los EUR 34,000 hasta los EUR 39,000 anuales según el portal de empleo Glassdoor. ZipRecruiter reporta que en los EE.UU. el salario de un programador principiante empieza con USD 78,176 al año, mientras los juniors pueden ganar USD 80,499 al año. El salario de un desarrollador de Python de nivel medio llega a USD 111,899 y los seniors pueden obtener ingresos de USD 130.268 al año.

Dónde y cómo se aplica

Más que nada, Python se aplica en el desarrollo web y la ciencia de datos. Instagram y DropBox se crearon en Python, mientras que Netflix y Spotify utilizaron Python para analizar los datos de sus usuarios. Asimismo, con Python se desarrollaron los sistemas de recomendaciones personalizadas.

Aquí tienes una lista con ejemplos donde se ha aplicado Python:

Desarrollo web. Para completar la funcionalidad de Python, se usan los frameworks tipo Django, Pyramid o Flask.

Soft. Con Python se elaboraron unas aplicaciones de escritorio, por ejemplo, BitTorrent.

Juegos. Unos módulos de EVE Online, Battlefield 2 y World of Tanks se programaron en Python.

Sistemas embebidos. Python se aplica en las computadoras Raspberry Pi para manejar los sensores a través de GPIO.

Scripts. Se programan los plugins y scripts en Python. Este lenguaje se emplea en la animación de Disney.

Administración de sistemas. Prácticamente todos los servidores ОС Linux operan en Python.

Ciencia de datos. Los gigantes de la industria, tales como Amazon, Facebook y Google, usan Python para dar mantenimiento a los almacenes de datos y nubes.

Qué puedes programar en Python:

Fuente: Unsplash
Back-end de un sitio web. Python se está volviendo un lenguaje potente gracias a los frameworks Django y Flask. Se pueden operar las direcciones URL, bases de datos y archivos HTML.

Blockchain. Es una cadena de bloques donde cada uno de ellos está vinculado con el anterior. El uso más frecuente son las transacciones con criptomonedas. El rendimiento del Blockchain en Python es competitivo con otras soluciones.

Bot. Un bot es un programa que ejecuta una cierta secuencia de comandos. Por lo general, los bots se aplican en el servicio de soporte técnico y en el análisis de las actividades del usuario. Por ejemplo, Google Analytics trabaja de esta forma.

Base de datos. Una base de datos contiene la información de los usuarios y modificaciones del software. Tanto las bases como sus sistemas de administración se crean en Python.

Virtualidad aumentada. Python se usa para las aplicaciones AR que ayudan a proyectar los objetos virtuales a los reales.

BitTorrent. Es una tecnología de intercambio rápido de datos. Todas las versiones del programa hasta la sexta se programaron en Python.

Red neuronal. Ya hemos mencionado Netflix y Spotify con sus sistemas de recomendaciones personales programados en Python. A este listado agregamos Amazon y Uber que emplean Python en la búsqueda de productos y taxis.

Parser. Es un software para recolectar y procesar datos. Ayuda a monitorear los tipos de cambio y analizar el TA en las redes sociales. Para crear los parsers en Python se necesitan las siguientes librerías: Beautiful Soup, Ixml y Requests.

Evita programar lo siguiente en Python:

❌ Microcontroladores. A pesar de que existe MicroPython, Python prácticamente no soporta ninguno de ellos.

❌ Aplicaciones GUI. Python tiene unos bindings especiales para crear interfaces gráficas: PyQt o Tkinter. Pero ninguna aplicación es compatible con estas interfaces.

❌Aplicaciones móviles. Aquí, Java o C te convienen más.

Los conceptos básicos de Python

Fuente: Unsplash
Hablaremos de la sintaxis en Python. La sintaxis es un sencillo juego de reglas:

  • La instrucción se finaliza cuando se finaliza la línea. No hace falta poner punto y coma (;).
  • Las instrucciones se agrupan en bloques según los tipos de sangrías. Para un solo bloque se aplica el mismo tipo de sangría en cada línea.
  • Las instrucciones compuestas se escriben según el mismo esquema. La instrucción principal → dos puntos (:) → bloque del código con una sangría.

Bucles. Son necesarios para repetir o iterar sobre los fragmentos de códigos y se llaman iteraciones. Python soporta dos tipos:

  1. For — permite repetir los valores en una secuencia, por ejemplo, para iterar sobre un fragmento N veces.
  2. While — permite repetir los bloques de códigos. Por ejemplo, cuando no sabes cuántas veces hay que ejecutar la iteración.

Funciones. Una función se define como un bloque de código que recibe los valores de entrada llamados argumentos. Una función puede recibir cero o más argumentos.

Llamar una función significa transferir los datos para ejecutar y devolver los resultados. Para definir la función introduzca el comando def. Por ejemplo:

def add(x, y):

return x + y

La palabra clave def le comunica a Python que estás definiendo la función. Ingresa paréntesis, luego asigna el nombre e incierta uno o más parámetros entre paréntesis. Pon dos puntos (:) después del paréntesis y empieza una nueva línea indentada con cuatro espacios. En el ejemplo de arriba la función add tiene dos parámetros (x e y) y devuelve la suma.

Clases y métodos. Python soporta el paradigma de programación centrado en objetos. Así que los elementos fundamentales son las clases y los objetos. Las clases las podemos comparar con un plano, y los objetos — con el modelo listo. Entre los objetos de Python están una línea, una lista y un módulo.

Una clase asocia las funciones con las variables. Las funciones son los métodos de la clase que determinan su funcionamiento. Las variables de la clase se llaman atributos. Los atributos mantienen el estado de la clase.

Las listas en Python son los conjuntos de los objetos a alterar. Estos objetos pueden ser diferentes — de números a líneas. Las listas también pueden contener otras listas.

Arrays. Son las estructuras de datos que almacenan los valores de un solo tipo. Los arrays parecen listas pero con una diferencia sustancial: las listas pueden incluir los valores de varios tipos de datos, pero los arrays — nunca.

Para utilizar un array, importa el módulo array:

from array import *

Después de importarlo, identifícalo:

arrayIdentifierName = array(typecode, [Initializers])

Módulos. Son archivos independientes con un código. Cualquier programa tiene la capacidad de importar módulos y acceder a las clases, funciones y objetos. Para crear un módulo necesitas un archivo tipo *.py.

El nombre del archivo es el nombre del módulo. Para ejecutar el módulo de librería estándar necesitas el comando import.

Luego nombra el módulo.

Errores y excepciones. Hay dos tipos de errores en Python: errores de sintaxis y excepciones. El primer tipo afecta el funcionamiento del programa y le impide ejecutar el código. Te mandará este error si separas una línea con una sola comilla de un lado:

my_string = "Hello, world.

Python manda lo siguiente:

Traceback (most recent call last):

⠀File error.py, line 1

⠀⠀my_string = "Hello, world.

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀^

SyntaxError: EOL while scanning string literal

Entre las excepciones están todos los errores que no se pueden clasificar como sintácticos. Por ejemplo, cuando el segundo argumento de una operación de división o módulo es cero:

z = 100 / 0

Intenta ejecutar el código y saldrá un error:

Traceback (most recent call last):

⠀⠀File "", line 1, in

ZeroDivisionError: division by zero

Para gestionar las excepciones usa las palabras clave try y except.

Entornos virtuales. La meta del entorno virtual es crear un paquete específico para un proyecto de Python. Como un niño en un cajón de arena, cada aplicación “juega” solamente dentro de sus frameworks sin meterse en las demás. Los entornos virtuales facilitan la vida de un programador. Especialmente si escribes el código en las librerías ajenas. Y puedes crear tantos entornos como quieras.
Los desarrolladores Python poseen su propia filosofía con un toque de zen y humor británico absurdo. Para conocer sus principios, escriba el comando >>> import this. Es lo que te sale:

Cómo empezar a aprender

La programación se parece al deporte: para alcanzar una meta, hay que entrenar duro y dedicar varias horas al día a los estudios.

Lo más importante es entender lo básico. Métete en YouTube y mira los talleres gratuitos, lee la guía oficial, libros y practica tus habilidades continuamente.

Las fuentes útiles para los principiantes:

  • Michael Dawson “Python Programming for the Absolute Beginner”
  • Mark Lutz “Learning Python: Powerful Object-Oriented Programming”
  • Paul Barry “Head First Python”
  • Tony Gaddis “Starting Out with Python”
  • Canales de Telegram

EBAC te enseña a programar en Python para análisis de datos. En solo 2 meses podrás dominar la sintaxis, manejar listas y estructuras de datos, visualizar y publicar tu análisis de datos. Si quieres meterte en la programación en Python pero no sabes por dónde empezar, este curso es ideal para ti. Es recomendable también para los analistas de negocio y profesionales de marketing y ventas, porque les permite reducir el tiempo de procesar datos, automatizar la recopilación de información en varios formatos y crear informes actualizados. Harás actividades prácticas durante el curso, a tu ritmo, en cualquier lugar, con feedback del tutor, y aplicarás tu aprendizaje en un proyecto profesional que te ayudará a enriquecer tu portafolio. Al finalizar el curso recibirás el certificado de EBAC y acceso a la plataforma de por vida.

Lo más importante sobre Python

  • Python es un lenguaje de programación sencillo. Tiene la sintaxis clara y muchas funciones integradas útiles.
  • La habilidad de programar en Python te abre las puertas en diferentes industrias. Por ejemplo, los gigantes de IT Google y Facebook emplean este lenguaje continuamente.
  • En México, un desarrollador Python gana un promedio de $475,244 MXN anuales. Y como esta profesión te permite relocalizar y trabajar en remoto, considera que si llegas al nivel senior en los EE.UU, puedes ganar hasta USD 130.268 al año.
  • La filosofía de Python es “nunca será mejor que ahora mismo”. Así que atrévete y aprendelo.
EBAC te enseña a programar en Python para análisis de datos. El profesor de curso, José Castro, Data Scientist de Palisade, una empresa de software en Nueva York, te enseñará a aplicar los conceptos básicos en Python, manejar listas de datos, escribir secuencias de instrucciones, usar las bibliotecas Pandas, Matplotlib y Seaborn, y más. Aplicarás todo lo aprendido para enriquecer tu portafolio al terminar el curso y recibirás el certificado para mejorar tu perfil laboral.

¡Te invitamos a descubrir lo que este curso tiene para ti!