2008-09-18 14 views
16

He aprendido a manejar los conceptos básicos de Python y tengo unas vacaciones pequeñas que quiero usar para aprender un poco más de Python. El problema es que no tengo idea de qué aprender o por dónde empezar. Principalmente soy desarrollador web, pero en este caso no sé cuánta diferencia hará.Python, más allá de lo básico

Respuesta

14

Bueno, hay grandes Recursos para la programación avanzada Python:

Aquí está una lista de temas que debe dominar si desea escribir "Python" en su hoja de vida:

Ellos son los que hacen Python tales un lenguaje genial (con la biblioteca estándar, por supuesto, que sigo descubriendo todos los días).

+0

¿Qué pasa con los iteradores exactamente? – Greg

+0

¿Crees que podrías agregar algunos hipervínculos a los elementos del currículum de Python? Me interesaría excavar allí. – JnBrymn

+0

Hecho. Mayormente enlaces de stackoverflow :-) –

1

Sugeriría escribir una aplicación web no trivial utilizando Django o Pilones, algo que hace algunos números crujientes. ¡No hay mejor manera de aprender un nuevo idioma que comprometerte con un problema y aprender sobre la marcha!

3

Algo genial para jugar, aunque no es un proyecto, es The Python Challenge. Lo encontré bastante útil para mejorar mis habilidades de pitón, y le da a tu cerebro un buen entrenamiento al mismo tiempo.

2

Honestamente me encantó el libro Programming Python. Tiene una gran variedad de pequeños proyectos, la mayoría de los cuales se pueden completar en una noche a un ritmo pausado. Te familiarizarán con la mayoría de la biblioteca estándar y es probable que te interese. Lo más importante es que estos pequeños proyectos son realmente útiles en el sentido de "día a día". El libro solo asume que usted conoce y entiende los elementos esenciales de Python como un lenguaje, en lugar de conocer su enorme biblioteca de API.

Creo que valdrá la pena analizarlo.

5

Dependiendo exactamente de lo que quiere decir "se familiarizó con lo básico", sugiero leer Dive Into Python y escribir/ejecutar todo el código de capítulo, luego obtener algo como Programming Collective Intelligence y trabajar a través de él - aprenderá Python bastante bien, sin mencionar algunos algoritmos bastante excelentes que serán útiles para un desarrollador web.

1

Escriba una aplicación web, probablemente en Django - la le enseñará un montón de buen estilo de Python.

Utilice algunas de las bibliotecas populares como Pygments o Universal Feed Parser. Ambas funciones extremadamente útiles, que son difíciles de obtener, están disponibles en una API bien documentada.

En general, me quedaría lejos de librerías que no están bien documentados - podrás golpear su cabeza contra la pared tratando de realizar ingeniería inversa de ellos - y bibliotecas que son envolturas alrededor de bibliotecas de C, si no tiene ninguna experiencia en C. Trabajé en el código wxPython cuando todavía estaba aprendiendo Python, que era mi primer idioma, y ​​en ese momento era poco más que un wrapper alrededor de wxWidgets. Ese código fue fácilmente el más feo que alguna vez escribí.

No obtuve mucho de Dive Into Python, excepto por el capítulo de importación dinámica, que no está bien documentado en ninguna otra parte.

1

Las personas tienden a decir algo como "La mejor forma de aprender es haciendo", pero siempre he descubierto que, a menos que aprendas específicamente un idioma para contribuir a algún proyecto, es difícil encontrar pequeños problemas hacer frente para mantenerte en marcha.

Una buena solución para esto es Project Euler, que tiene una lista de varios desafíos de programación \ matemáticos que van desde lo simple a bastante difícil. A modo de ejemplo, el primer reto es:

Si lista de todos los números naturales inferiores a 10 que son múltiplos de 3 o 5, obtenemos 3, 5, 6 y 9. La suma de estos múltiplos es 23.

Y por el problema # 50 ya se hace un poco más difícil

¿Qué mejor momento, por debajo de un millón, puede escribirse como la suma de los números primos consecutivos más

Hay 208 en total, pero creo que algunos nuevos se agregan aquí y allá.

Si bien ya conocía Python bastante bien antes de comenzar el Proyecto Euler, descubrí que aprendí algunos trucos geniales simplemente mediante el uso del lenguaje. ¡Buena suerte!

2

El Python Cookbook es absolutamente esencial si quiere dominar Python idiomático. Además, ese es el libro que me hizo enamorarme del idioma.

1

Buscar "Alex Martelli", "Alex Martelli patterns" y "Thomas Wouters" en Google video. Hay muchas charlas interesantes sobre Python avanzado, patrones de diseño en Python, y más.

Cuestiones relacionadas