Introducción
Todo programador tiene una historia sobre cómo aprendió a escribir su primer programa. Empecé a programar de niño, cuando mi padre trabajaba para Digital Equipment Corporation, una de las empresas pioneras de la informática moderna. Escribí mi primer programa en un ordenador en miniatura que mi padre había armado en nuestro sótano. El ordenador consistía únicamente en una placa base desnuda conectada a un teclado sin carcasa, y su monitor era un tubo de rayos catódicos desnudo. Mi programa inicial era un sencillo juego de adivinanzas, parecido a esto:
'm thinking of a number! Try to guess the number I'm thinking of: 25
I! Guess again: 50
Too low! Guess again: 42
Too high's it! Would you like to play again? (yes/no) no
ThatThanks for playing!
Siempre recordaré lo satisfecho que me sentí al ver a mi familia jugar un juego que yo había creado y que funcionaba como yo quería.
Esa experiencia temprana tuvo un impacto duradero. Hay una verdadera satisfacción en crear algo con un propósito, que resuelve un problema. El software que escribo ahora satisface necesidades más significativas que mis esfuerzos de la infancia, pero la satisfacción que obtengo al crear un programa que funciona sigue siendo prácticamente la misma.
¿Para quién es este libro?
El objetivo de este libro es que te familiarices con Python lo más rápido posible para que puedas crear programas que funcionen (juegos, visualizaciones de datos y aplicaciones web) mientras desarrollas una base de programación que te será útil para el resto de tu vida. Python Crash Course está escrito para personas de cualquier edad que nunca han programado en Python o que nunca han programado en absoluto. Este libro es para quienes desean aprender los fundamentos de la programación rápidamente para poder centrarse en proyectos interesantes y para quienes disfrutan poniendo a prueba su comprensión de nuevos conceptos resolviendo problemas significativos. Python Crash Course también es perfecto para profesores de todos los niveles que desean ofrecer a sus estudiantes una introducción a la programación basada en proyectos. Si estás cursando una clase universitaria y quieres una introducción a Python más intuitiva que el texto que te han asignado, este libro también puede facilitar tu clase. Si buscas cambiar de carrera, Python Crash Course puede ayudarte a hacer la transición hacia una trayectoria profesional más satisfactoria. Ha funcionado bien para una amplia variedad de lectores, con una amplia gama de objetivos.
¿Qué puedes esperar aprender?
El propósito de este libro es convertirte en un buen programador en general y en un buen programador de Python en particular. Aprenderás eficientemente y adoptarás buenos hábitos a medida que adquieres una base sólida en conceptos generales de programación. Tras completar el Curso intensivo de Python, estarás listo para avanzar a técnicas más avanzadas de Python, y tu próximo lenguaje de programación será aún más fácil de dominar.
En la Parte I de este libro, aprenderás los conceptos básicos de programación necesarios para escribir programas en Python. Estos conceptos son los mismos que aprenderías al comenzar con casi cualquier lenguaje de programación. Aprenderás sobre los diferentes tipos de datos y las formas de almacenarlos en tus programas. Construirás colecciones de datos, como listas y diccionarios, y las trabajarás eficientemente. Aprenderás a usar bucles while
y sentencias if
para comprobar ciertas condiciones, de modo que puedas ejecutar secciones específicas del código mientras se cumplan dichas condiciones y ejecutar otras secciones cuando no lo sean; una técnica que te ayuda a automatizar muchos procesos.
Aprenderás a aceptar la entrada de los usuarios para que tus programas sean interactivos y se mantengan en ejecución tanto tiempo como deseen. Explorarás cómo escribir funciones que hagan que partes de tu programa sean reutilizables, de modo que solo tengas que escribir bloques de código que realicen ciertas acciones una vez, mientras usas ese código tantas veces como necesites. Después, extenderás este concepto a comportamientos más complejos con clases, haciendo que programas relativamente simples respondan a diversas situaciones. Aprenderás a escribir programas que gestionen errores comunes con elegancia. Después de trabajar con cada uno de estos conceptos básicos, escribirás varios programas cada vez más complejos utilizando lo aprendido. Finalmente, darás tu primer paso hacia la programación intermedia aprendiendo a escribir pruebas para tu código, para que puedas desarrollar tus programas más sin preocuparte por introducir errores. Toda la información en la Parte I te preparará para asumir proyectos más grandes y complejos.
En la Parte II, aplicarás lo aprendido en la Parte I a tres proyectos. Puedes realizar cualquiera de estos proyectos o todos, en el orden que mejor te convenga. En el primer proyecto, en los Capítulos 12-14, crearás un juego de disparos al estilo de Space Invaders llamado Alien Invasion, que incluye varios niveles de dificultad creciente. Tras completar este proyecto, deberías estar en el buen camino para desarrollar tus propios juegos 2D. Incluso si no aspiras a ser programador de juegos, este proyecto es una forma divertida de integrar gran parte de lo aprendido en la Parte I.
El segundo proyecto, en los capítulos 15 a 17, te presenta la visualización de datos. Los científicos de datos utilizan diversas técnicas de visualización para comprender la gran cantidad de información disponible. Trabajarás con conjuntos de datos generados mediante código, conjuntos de datos descargados de fuentes en línea y conjuntos de datos que tus programas descargan automáticamente. Al completar este proyecto, podrás escribir programas que filtren grandes conjuntos de datos y creen representaciones visuales de diversos tipos de información.
En el tercer proyecto, en los capítulos 18 a 20, crearás una pequeña aplicación web llamada Registro de Aprendizaje. Este proyecto te permite llevar un registro organizado de la información que has aprendido sobre un tema específico. Podrás mantener registros separados para cada tema y permitir que otros creen una cuenta y creen sus propios diarios. También aprenderás a implementar tu proyecto para que cualquier persona pueda acceder a él en línea, desde cualquier lugar del mundo.
Recursos en línea
No Starch Press tiene más información sobre este libro disponible en línea en https://nostarch.com/python-crash-course-3rd-edition.
Por qué Python
Cada año, considero si seguir usando Python o pasarme a otro lenguaje, quizás uno más reciente en el mundo de la programación. Pero sigo enfocándome en Python por muchas razones. Python es un lenguaje increíblemente eficiente: tus programas harán más con menos líneas de código que muchos otros lenguajes. La sintaxis de Python también te ayudará a escribir código limpio. Tu código será más fácil de leer, depurar, extender y desarrollar, en comparación con otros lenguajes.
Se usa Python con fines de MSNY para crear juegos, crear aplicaciones web, resolver problemas empresariales y desarrollar herramientas internas en empresas de todo tipo. Python también se usa ampliamente en el ámbito científico, en la investigación académica y en el trabajo aplicado.
Una de las razones más importantes por las que sigo usando Python es su comunidad, que incluye un grupo de personas increíblemente diverso y acogedor. La comunidad es esencial para los programadores, ya que programar no es una actividad solitaria. La mayoría de nosotros, incluso los programadores más experimentados, necesitamos pedir consejo a otros que ya han resuelto problemas similares. Contar con una comunidad bien conectada y que brinde apoyo es fundamental para ayudarte a resolver problemas, y la comunidad de Python apoya plenamente a quienes aprenden Python como su primer lenguaje de programación o a quienes se acercan a Python con experiencia en otros lenguajes.
Python es un gran lenguaje para aprender, ¡así que comencemos!