Cómo aprender Python de la manera fácil (y no de la manera que yo lo hice)

Se supone que Python es uno de los lenguajes de programación más fáciles de aprender. Saber eso me hizo sentir bastante mal la primera vez que intenté y no logré aprenderlo. Fue incluso peor la segunda vez que fallé.

Pero resulta, y lo aprendí en el tercer intento, que Python puede ser realmente accesible, incluso para un no codificador amante de las humanidades como yo. Solo tienes que abordarlo de la manera correcta.

Cómo fallé en aprender Python ... la primera vez

La primera vez que intenté aprender Python fue hace casi una década. No estaba realmente seguro de lo que quería hacer con él, tal vez automatizar algo de mi trabajo, tal vez escribir una pequeña aplicación. Simplemente parecía una habilidad que sería bueno conocer.

Así que recogí una copia del PDF Learn Python the Hard Way, que entonces era gratuito, y comencé a intentar trabajar en él.

El primer muro que choqué fue configurar Python en mi propio sistema. Especialmente en ese momento, la mayoría de las instrucciones sobre cómo hacer eso fueron escritas para programadores experimentados, y me tomó una eternidad revisarlo todo.

Quería aprender a escribir código Python, y mi primer paso fue pasar cinco horas luchando con la línea de comandos. Estaba desmotivado incluso antes de empezar.

Una vez que finalmente tuve las cosas configuradas, pude escribir código junto con el libro. Y lo hice, por un tiempo, ralentizando la construcción de un juego de aventuras de texto muy simple.

Pero cuando me enfrenté al primer desafío real, esos momentos que siempre vienen en la codificación donde algo no funciona y simplemente no puedes entender por qué, renuncio.

Tenía cosas más importantes que hacer que golpear mi cabeza contra el teclado y descifrar mensajes de error inescrutables. Especialmente cuando mi objetivo final era hacer un juego de aventuras de texto que no me importaba y que nadie jugaría jamás.

Cómo fallé en aprender Python ... la segunda vez

Unos años más tarde, lo intenté de nuevo. Para entonces yo estaba trabajando como periodista y me había interesado en el periodismo de datos y en el web scraping en particular.

Sabía que sería necesario tener habilidades de codificación en Python, así que encontré una plataforma de educación en línea, no diré cuál, y comencé un curso de Python para principiantes.

Como la mayoría de los MOOC, este curso se basaba en videos. Veía una conferencia sobre un tema relacionado con Python, respondía un cuestionario en el sitio del curso para confirmar que había aprendido el material y luego pasaba al siguiente módulo.

Los programadores experimentados probablemente ya pueden adivinar lo que sucedió después: cuando fui a intentar escribir código Python para mí, no pude hacer nada.

Al ver a alguien más codificar en videos y escuchar sus explicaciones, pensé que estaba aprendiendo a hacerlo por mí mismo. Y los cuestionarios de opción múltiple y de llenar los espacios en blanco en los que estaba obteniendo el 100% parecían confirmar que había comprendido el material.

Pero claro, cuando llegó el momento de aplicarlo por mi cuenta, no pude. Podía escanear los videos y copiar lo que hizo el profesor, pero me costó mucho aplicar todo lo que había aprendido en mis propios proyectos.

También fue difícil mantenerme motivado, porque estaba trabajando en cosas que no parecían relevantes.

Quería aprender a hacer web scraping. Pero en cambio, estaba luchando por entender las video conferencias sobre el concepto de programación orientada a objetos (OOP). ¿Qué tiene que ver todo esto con mis objetivos? No estaba seguro y eso hizo que dejar de fumar fuera más fácil. Otra vez.

Por que fallé

En retrospectiva, no es demasiado difícil averiguar por qué fallé. La primera vez, mis grandes errores fueron:

  1. No tener un objetivo claro . ¿Por qué estaba aprendiendo Python? Realmente no lo sabía. Eso hace que sea realmente fácil dejar de fumar cuando las cosas se ponen difíciles, lo que siempre será así, tarde o temprano.
  2. Demasiado desafío desde el principio . Tarde o temprano, tendría que averiguar cómo instalar Python en mi sistema, pero configurar esto sin ninguna experiencia relevante, antes de escribir tanto como un, print(‘Hello world!’)era una receta para la frustración y el fracaso.

Cuando estás aprendiendo algo desafiante, especialmente como principiante total, necesitas victorias tempranas para ayudarte a creer que realmente puedes hacerlo.

Comenzar con un desafío frustrante que ni siquiera involucró la codificación aseguró que no obtuviera esas victorias tempranas que me motivaron y afirmaron.

La segunda vez evité esos errores, pero en cambio cometí algunos nuevos:

  1. No estaba aprendiendo haciendo. Ver videos y aprobar exámenes me hacía sentir que podía codificar, pero en realidad no estaba codificando. Cuando me hice intento (y fracaso) para escribir código, fue aún más frustrante porque pensé que ya se entendía. Y porque tuve que hacer un montón de clics en cada video para volver a ver diferentes secciones y volver a aprender cosas.
  2. Tenía un objetivo claro, pero no un camino claro hacia él. Sabía que quería hacer periodismo de datos y web scraping, pero estaba tomando un curso genérico de Python para principiantes. Eso significaba que estaba aprendiendo lecciones que podrían haber sido críticas para el desarrollo de software pero que no eran tan relevantes para el periodismo de datos. A menudo me costaba conectar los fundamentos que estaba aprendiendo en clase con lo que realmente quería hacer con el código.

A lo largo de todo, también estaba cometiendo otro gran error mental. Estaba pensando en aprender Python en términos muy en blanco y negro. O había "aprendido Python", todo Python, o no.

Esto hizo que la perspectiva de aprender fuera realmente intimidante. Cada vez que enfrentaba un desafío, empeoraba por el hecho de que estaba pensando en una mítica "línea de meta" de Python que todavía estaba muy, muy lejos.

Eso es un error, por supuesto. Al igual que un lenguaje hablado, Python (y otros lenguajes de programación) no son algo que realmente termines de aprender. Y como un lenguaje hablado, en realidad no es necesario dominar Python para hacer las cosas.

Como cualquier estudiante de intercambio de primer año te dirá, con solo poder preguntar "¿Cuánto es esto?" y "¿Dónde está el baño?" en el idioma local realmente puede afectar su calidad de vida.

Lo mismo es cierto para Python. No es necesario que lo sepas todo , ni siquiera tanto, necesariamente, para marcar una diferencia real en tu propia vida.

Pero esa es una lección que solo aprendí por accidente.

Cómo realmente aprendí (algo) Python

Para 2018, había dejado de aprender Python. ¡Lo había intentado dos veces y había fallado dos veces! Pero luego me contrataron en Dataquest, una empresa que enseña habilidades de ciencia de datos, incluida la programación de Python, en línea.

Mi nuevo trabajo no requería ninguna habilidad de codificación, pero pensé que aún necesitaba probar la plataforma de aprendizaje. Necesitaba comprender nuestro producto y lo que nuestros alumnos sentían que estaban experimentando. Tal vez, pensé, incluso podría aprender lo suficiente para hacer un raspado web, como había planeado antes.

Entonces, con cierta inquietud, creé una cuenta y comencé nuestro curso de Python para ciencia de datos.

Para mi sorpresa, se sintió divertido y fácil. Y para mi mayor sorpresa, no pasó mucho tiempo antes de que sintiera que podía construir algunos proyectos por mi cuenta.

Escribí un pequeño guión para ordenar los correos electrónicos. Usé Python para analizar rápidamente algunos datos de encuestas. Y, a trompicones, construí el gran proyecto de análisis y raspado web con el que soñaba cuando era periodista.

Estaba, y todavía lo estoy , usando Python para facilitar mi trabajo y mejorar mi vida. Un par de años después, todavía soy un codificador novato, pero puedo hackear pequeños scripts para facilitar las cosas y resolver problemas de análisis de datos que tengo en el trabajo usando Python.

Esto sucedió porque, más por casualidad que por diseño, me topé con una forma de aprender Python que evitó casi todos los errores que había cometido con mis esfuerzos anteriores:

  • Llegué con un objetivo claro: aprender suficiente Python para poder trabajar un poco con los datos para poder comprender mejor a nuestros clientes.
  • Evité el desafío inicial de instalar Python por completo, porque Dataquest te permite aprender y escribir código directamente en una ventana del navegador.
  • Estaba aprendiendo a codificar realmente codificando en lugar de ver a alguien más codificar.
  • Estaba aprendiendo en un camino que fue diseñado específicamente para el trabajo de datos de Python, por lo que todo lo que estaba aprendiendo y cada ejercicio que hacía se sentía relevante.
  • Solo estaba tratando de aprender lo que necesitaba, no tratando de aprender todo Python.

Cómo facilitar el aprendizaje de Python

Mirando hacia atrás en mis errores, y luego en mi éxito accidental, creo que se reduce a algunas conclusiones simples:

Primero, entra con un gol. ¿Por qué quieres aprender Python? ¿Qué, específicamente, quieres construir con él? Si no tiene una buena respuesta para esta pregunta, será muy difícil mantenerse motivado.

En segundo lugar, encuentre una manera de aprender haciendo lo que realmente quiere hacer. Si puede encontrar un recurso de aprendizaje específico, como una plataforma que enseñe Python específicamente para desarrolladores de juegos, eso es genial. Pero los recursos generales de aprendizaje también pueden funcionar siempre y cuando aplique lo que aprenda con algunos proyectos de Python para principiantes mientras estudia.

Su aprendizaje a codificar tiene que incluir realmente escribir código, y tiene que escribir código que haga algo que le interese.

En tercer lugar, evite el desafío inicial de configurar Python y sus diversas bibliotecas en su sistema local.

Ahora hay muchas plataformas en línea que le permiten escribir y ejecutar código en un navegador web, o puede escribir y ejecutar código en un cuaderno en Google Colab o una plataforma similar. Solo intente que comenzar sea lo más fácil posible para usted. Puedes preocuparte por tu configuración local más tarde.

Cuarto, no intente "aprender Python". Ese es un objetivo masivo a largo plazo que posiblemente sea inalcanzable, incluso los mejores desarrolladores de Python no saben literalmente todo al respecto.

En su lugar, intente aprender a usar Python para crear una versión simple de su proyecto objetivo, o una parte de ese proyecto. Luego, aprenda a usar Python para hacer que ese proyecto sea más grande, o cómo pasar al siguiente paso.

Divida las grandes tareas en partes más pequeñas y enfoque sus objetivos en construir algo para que obtenga la recompensa psicológica de haber construido algo cuando complete una.

Siga estas pautas independientemente de su razón personal para aprender Python y no tengo ninguna duda de que podrá alcanzar sus objetivos sin tener que fallar y dejar de fumar dos veces en el camino.