Te encuentro en una situación que es sorprendentemente similar a la que tuve hace unos meses. Mi lenguaje principal es C ++ y hasta entonces había hecho casi toda mi codificación usando el mismo, ya sea algorítmico (programación competitiva), tareas de laboratorio o proyectos de cursos. Aprendí PHP MySQL también para una de mis pasantías, pero eso es irrelevante aquí.
Mi primera incursión en el reino de Python fue comenzando con un código C / C ++ y literalmente traduciéndolo línea por línea en Python (un mapeo sintáctico uno a uno). ¡Pero muy pronto, me di cuenta de que esa no era una forma muy “pitónica” de hacer las cosas! Solía rastrear aleatoriamente docenas de tutoriales en línea y recursos web tratando de encontrar el que hace clic. Encontré algunos realmente buenos en este proceso y enumero los que me ayudaron para su referencia:
- http://practicepython.org/: Un blog dedicado a los principiantes de Python. El autor publica un problema de práctica cada semana que cubre todas las construcciones de programación comunes que encontraría durante su viaje con Python. Como ya te sientes bastante cómodo con C ++ y tienes algo de experiencia en programación, ¡idealmente debería ser un día de trabajo!
- Una vez que se sienta cómodo con lo básico, le sugiero que lea este artículo: Cómo escribir un corrector ortográfico de Peter Norvig. ¡El autor demuestra el funcionamiento de un corrector ortográfico de fuerza industrial con la ayuda de un código Python de 21 líneas! En mi experiencia, revisar este código línea por línea y luego volver a implementarlo por mi cuenta me dio mucha confianza con el lenguaje.
- Comience a jugar con las bibliotecas de Python. Mi intimidad con Python fue motivada por la PNL. Instalé la biblioteca NLTK de Python y comencé a construir algunos proyectos de juguetes usándola. Necesitaba un corpus de entrenamiento para alguna tarea para la cual tuve que rastrear un sitio web de artículos de noticias. ¡Sopa hermosa (otra biblioteca de Python) al rescate! Puede parecer un cliché, ¡pero la única manera de sentirse cómodo con cualquier lenguaje es usarlo para construir proyectos!
- A juzgar por el hecho de que te gustan los concursos de programación, otra forma divertida de familiarizarte con Python es resolver problemas en el Proyecto Euler. No he comenzado personalmente en esto todavía (planifique hacerlo en el futuro cercano), pero por lo que escuché, Python hace que sea muy fácil lidiar con problemas de teoría de números.
- ¡Cuando te sientas lo suficientemente seguro como para abordar proyectos más grandes de forma independiente, puedes consultar Python Practice Projects para obtener algunas ideas geniales!
¡Buena suerte, diviértete!
- ¿Cuál es la diferencia entre el aprendizaje por refuerzo y la optimización de caja negra?
- Cómo saber si una startup tecnológica que ofrece soluciones empresariales que utilizan el aprendizaje exclusivo en profundidad está tratando de estafar a mi empresa
- ¿Cómo trata Google Translate u otra traducción en línea con palabras que no existen en el otro idioma?
- ¿Qué debo hacer para poder contribuir al campo de la visión por computadora y trabajar en Google en el futuro?
- ¿Es útil para un científico de datos conocer métodos ágiles como Scrum?