Advertisement
  1. Code
  2. Python

La mejor manera de aprender Python

Scroll to top
Read Time: 12 min
This post is part of a series called The Best Way to Learn... .
Learn JavaScript
The Best Way to Learn Ruby on Rails

Spanish (Español) translation by Carlos (you can also view the original English article)

Python es más popular que nunca, y está siendo utilizado en todas partes, desde el back-end de servidores web, hasta el front-end de desarrollo de juegos, y otras aplicaciones intermedias. Python es un verdadero lenguaje de propósito general y rápidamente se está convirtiendo en una herramienta imprescindible en el arsenal de cualquier programador.

Pero Python no es popular solo porque sí. Es fácil de aprender, se lee como un pseudocódigo y es tremendamente ágil. No obstante, aprender un nuevo lenguaje puede ser una tarea desalentadora, y encontrar los lugares y las personas adecuadas para aprenderlo es un paso muy importante para lograrlo. Ahí es donde esta guía te puede ayudar. Este es tu plan de acción para hacer que Python sea fácil, divertido y gratificante de aprender.

Tarea 1: Empieza con los conceptos básicos

Al momento de escribir este artículo, existen dos versiones principales de Python en circulación: Python 2.7 y Python 3.2. La versión que elijas aprender realmente no importa demasiado, pues las diferencias serán mínimas, especialmente para un principiante. Pero debes saber que, mientras que Python 2 tiene mucho, mucho más apoyo de terceros, Python 3 es el objetivo primordial de los desarrolladores que diseñan el lenguaje. La elección es tuya, pero si tu código funciona de manera diferente a cualquier tutorial, asegúrate que sea la misma versión de Python que se utiliza en el tutorial.

Tutorial de Python para los no programadores de Wikibooks

Wikibooks siempre es un excelente recurso para aprender algo nuevo, y Python no es la excepción. Aquí encontrarás una serie de guías sólidas y «al grano» que te enseñarán las bases de Python. No es demasiado técnico, y puedes empezar a codificar algo útil y gratificante bastante rápido. Por este motivo, recomiendo este sitio como el mejor lugar para comenzar tu viaje con Python.

El tutorial oficial de Python

No encontrarás mejor fuente de información que la documentación oficial de python.org. Sin embargo, si quieres meterte de lleno rápidamente, como estoy seguro que muchos de ustedes querrán, este podría no ser el mejor lugar para empezar.

El contenido suele ser más técnico que en wikibooks, lo que te será útil más adelante a medida que avances con el lenguaje. Pero, para un principiante, se puede interponer en lo que realmente es un lenguaje muy simple y hermoso.

Para los principiantes, la mayor diferencia entre Python 2 y Python 3 probablemente sea que Python 2 puede usar print sin paréntesis. Python 3 requiere paréntesis, pero eso es todo.

Tarea 2: Tutoriales y screencasts

Tutoriales de programación de Python de TheNewBoston

Las listas de reproducción de TheNewBoston siempre son excelentes, y puedes aprender una gran cantidad de lenguajes. «Bucky» es un estupendo instructor porque logra un excelente equilibrio entre ser divertido y, a la vez, fácil de escuchar. Recomiendo ampliamente cualquiera de sus listas de reproducción, en especial la de Python. Da por sentado que no tienes ningún conocimiento previo de programación y te dejará con un firme dominio del lenguaje.

Python desde cero de Nettuts+

Un poco más cerca de casa está la introducción a Python de Giles Lavelle. Como en la serie de The NewBoston, Lavelle también asume que no se tiene ninguna experiencia previa en programación.

Si deseas ver algunos usos reales de tus aplicaciones, o si tu objetivo es el desarrollo web con Python, esta serie puede ser la adecuada para ti.

El screencast te lleva desde cero hasta la creación de un sitio web dinámico, utilizando un framework web de Python llamado Django.

Screencasts de ShowMeDo sobre Python

StackOverflow no solo está lleno de errores y problemas de «principiantes».

ShowMeDo tiene un enorme catálogo de videos relacionados con Python. Si bien puede que no sea la experiencia más fácil de utilizar que existe, los videos van desde niveles para principiantes absolutos hasta las técnicas de Python más avanzadas. Vale la pena revisarlo.

Crea un bot con Python que puede jugar

Este tutorial es bastante específico en cuanto a lo que vas a aprender, y no lo recomiendo para un principiante absoluto. Sin embargo, creo que vale la pena mencionarlo. En esta guía, Chris Kiehl te enseña cómo crear un bot muy interesante en Python con un sencillo juego. El tutorial realmente te va a mostrar el poder de Python; se puede aplicar para realizar las tareas repetitivas cotidianas que puedas tener en tu computadora.

Tarea 3: ¡Libros electrónicos gratuitos!

Cuando se trata de aprender algo nuevo es difícil superar a un buen libro, y con la excelente comunidad que se ha desarrollado en torno a Python, existe una gran cantidad de libros electrónicos gratuitos de alta calidad para elegir. A continuación se muestra una lista rápida de algunos de los mejores. Puedes descargar una versión gratuita en formato electrónico de cada uno de ellos, o puedes elegir comprar el libro físico (o donar) si deseas apoyar al autor, lo cual estoy seguro que apreciarán enormemente.

Learn Python the Hard Way

A pesar del nombre (Aprende Python de la manera difícil), Learn Python The Hard Way hace que aprender Python sea increíblemente fácil, ¡como debe ser! En este libro, Zed A. Shaw trabaja desde el principio ofreciéndote una detallada y completa guía sobre Python sin interferir con la codificación real. El estilo que emplea Shaw es informal, pero minucioso; lo que hace que el libro sea fácil, pero gratificante.

Think Python: How to Think Like a Computer Scientist

No encontrará una mejor fuente de información que la documentación oficial de python.org.

Como el subtítulo podría sugerir, «Cómo pensar como un científico de la computación», Think Python se inclina un poco más hacia el lado teórico de las cosas. Esto puede resultar un poco frustrante para un principiante absoluto, pero vale la pena leer el libro lo que respecta a la teoría de algoritmos y conceptos de alto nivel.

Invent With Python (Inventa con Python)

Si lo tuyo es «aprender haciendo», ¡entonces crear tu propio juego será una experiencia gratificante! En este libro, Al Sweigart asume que no tienes ningún conocimiento previo de Python y te lleva por todo el proceso para crear tu propio juego. Dado que el libro está orientado al desarrollo de juegos, el libro puede ser un poco rápido para un principiante absoluto. Más adelante en este artículo, menciono un libro similar suyo donde se asume que se tiene un conocimiento previo de Python. Si crees que tienes un buen dominio del lenguaje, entonces su otro libro podría ser un mejor recurso para ti.

El libro de Django

Si deseas aprender Python para el desarrollo web, entonces probablemente utilizarás el framework Django. Este libro asume que se tiene la fluidez en Python, pero enseña Django como si fueras un principiante en el framework. El libro de Django es bastante bueno y será invaluable para cualquier desarrollador web incipiente.

Libros de Python

Si esto aún no es suficiente para leer, o quieres un libro sobre un tema específico, entonces deberías seguir este enlace. La gente de python.org ha elaborado una extensa lista de libros, ordenados por dificultad y tema.

Tarea 4: Familiarízate con StackOverflow

Miles de desarrolladores han experimentado cada uno de los problemas a los que te vas a enfrentar. StackOverflow es un excelente recurso donde los desarrolladores encuentran soluciones a sus problemas. Cuando te encuentres con un error que no estés seguro de cómo solucionarlo, busca en StackOverflow. Es muy probable que halles una solución y cómo otras personas resolvieron su problema.

Pero StackOverflow no solo está lleno de errores y problemas de «principiantes»; hay algunas personas realmente inteligentes y serviciales que utilizan el sitio, ¡aprende de ellos!

Por ejemplo, échale un vistazo al hilo: las funciones ocultas de Python.

Posiblemente muchos de los consejos y trucos que ves aquí no se traten en muchos tutoriales formales, pero serán de gran ayuda para los usuarios de Python de nivel intermedio y avanzado.

Tarea 5: Proyecto Euler

El Proyecto Euler (se pronuncia «oil-er», para ahorrarnos un momento bochornoso más adelante) es uno de mis sitios web favoritos. Después de crear una cuenta, podrás resolver los problemas en el sitio web. Cada problema tiene aproximadamente un 50% de matemáticas y un 50% de programación y es, en mi opinión, la manera más gratificante de aprender más sobre cualquiera de las dos materias.

Los problemas son fáciles al principio para probar tu conocimiento del lenguaje, pero crecen en dificultad para desafiar incluso a los programadores más experimentados. Eventualmente, la complejidad de los problemas te obligará a encontrar el algoritmo más eficiente, si es que no deseas esperar horas para calcular la respuesta.

Nada te convertirá en un experto en programación más rápidamente que desafiarte a ti mismo para encontrar las soluciones más rápidas y eficientes a los problemas del Proyecto Euler.

Cuando resuelves un nuevo problema, accedes al hilo del foro de ese problema, donde muchas personas discuten sus ideas y soluciones con los demás. Muchas de las soluciones en las páginas subsiguientes del hilo estarán en Python. Esta es realmente la clave para hacer crecer tus habilidades en programación. Si hay alguien con una solución más rápida que la tuya, tómate el tiempo para analizarla y ver dónde podrías mejorar tu propia solución. Con el tiempo, aprenderás todos los trucos del oficio e incrementarás tus conocimientos sobre Python de una manera significativa y gratificante.

Asimismo, también existen algunos blogs realmente buenos que examinan los problemas del Proyecto Euler en Python. Si estás atorado en un problema, no es una vergüenza revisar el trabajo de otros desarrolladores, siempre y cuando tengas la intención de aprender de él. Aquí están dos de mis favoritos:

Tarea 6: Crea un juego

Pocas cosas son más satisfactorias que crear tu propio juego.

Pocas cosas son más satisfactorias que crear tu propio juego. Puede ser una curva de aprendizaje pronunciada, pero vale la pena y es muy gratificante. PyGame es la biblioteca de juegos más conocida para Python, y podrás encontrar muchos tutoriales gratuitos sobre ella. Aquí tienes algunos de los mejores tutoriales para PyGame.

Documentación oficial de PyGame

Y como sucede con los tutoriales originales para Python, los desarrolladores de PyGame también tienen su propia documentación de introducción. Pero puede ser demasiado técnica si deseas empezar rápidamente a crear tu juego. Sin embargo, la documentación del desarrollador siempre será tu mejor fuente de información; así que te recomiendo que te familiarices con el sitio.

Inventa con Python (con PyGame)

Este libro electrónico gratuito de Al Sweigart repasa la biblioteca de PyGame y te guía desde no saber nada hasta la creación, por ti mismo, de un par de juegos. Los juegos sencillos te brindarán una plataforma perfecta para iniciar tus propios proyectos, si estás interesado. Sweigart ofrece comentarios extensos y detallados en todo su código para ayudarte a aprender sobre la marcha.

Tutorial de TheNewBoston para el desarrollo de juegos de computadora

Esta es otra lista de reproducción de TheNewBoston. Sirve como una introducción a PyGame. Asume que no se tiene ningún conocimiento y te proporciona una buena idea de la biblioteca de PyGame, pero a diferencia de la guía InventWithPython, va más al grano y no te hará crear tu propio juego completo.

Tarea 7: Conoce algunas bibliotecas y herramientas comunes

Python es un lenguaje de propósito general que puede hacer casi cualquier cosa; así que, naturalmente, existe un abastecimiento aparentemente interminable de bibliotecas y herramientas. Éstos son algunos de los más populares.

PyPy

Si alguna vez deseas importar un HTML para obtener alguna información... BeautifulSoup hará todo esto por ti y te ahorrará mucho tiempo.

Si estás realizando un trabajo intensivo con la CPU, y encuentras que Python se está convirtiendo en un cuello de botella, entonces quizá necesites PyPy. PyPy es un compilador alternativo para Python que realmente puede acelerar tu procesamiento.

NumPy + SciPy

Estos dos por lo general van juntos (SciPy es dependiente de NumPy). Si estás realizando algunos cálculos numérico serios para investigación matemática o científica, entonces estas dos bibliotecas serán tus mejores amigas. NumPy y SciPy aumentan las funciones y capacidades matemáticas de Python y pueden acelerar enormemente algunas de tus tareas.

BeautifulSoup

BeautifulSoup es realmente hermoso. Si alguna vez has querido importar un HTML para obtener alguna información, sabrás muy bien lo frustrante y desesperante que puede ser. BeautifulSoup hará todo esto por ti y te ahorrará mucho tiempo. Muy recomendable y divertido para experimentar.

Biblioteca de imágenes de Python

La biblioteca de imágenes de Python (PIL) es una biblioteca extensa y es excelente para cualquier cosa que tenga que ver con imágenes. Si necesitas manipular una imagen, es probable que PIL pueda hacerlo por ti.

Django

Como se comentó previamente en el artículo, el framework Django es lo que probablemente utilizarás si tu objetivo es el desarrollo web. Es el framework más común para Python y también tiene disponible la mayor cantidad de recursos de aprendizaje.

Tarea 8: Involúcrate en proyectos de código abierto

Después de que tengas un dominio decente del lenguaje, ser capaz de leer y entender el código de otras personas siempre es una habilidad importante, sin mencionar que también es una excelente forma de aprender.

Por esta razón, los proyectos de código abierto son estupendos. Github o Bitbucket son los mejores lugares para esto. No te preocupes por que la gente juzgue tu código, no tienes que contribuir de inmediato. Siempre eres libre de hacer una bifurcación (fork) de un proyecto, jugar con él tú mismo, y ver cómo funcionan las cosas. Si ves algo que crees que podría ser mejorado, ¡estupendo! Hazlo y envía tu mejora. Para eso es el código abierto.

Conclusión

Espero que te haya podido brindar una base sólida de conocimientos sobre Python. Si existen otros lugares de interés que crees que se debieron haber incluido en este plan de estudios, ¡hazlo saber en los comentarios para ayudar a los demás!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.