2008-09-24 5 views
14

Como un principiante completo sin experiencia en programación, estoy tratando de encontrar un hermoso código Python para estudiar y jugar. Responda señalando un sitio web, un libro o algún proyecto de software.Principiante en busca de código Python hermoso e instructivo

tengo los siguientes criterios:

  • listados de código completos (de trabajo, código hackable)
  • código hermosa (muy legible, simple pero eficaz)
  • de instrucción para el principiante (sí, a mano es necesario mantenerlo)

He intentado aprender a programar durante mucho tiempo ahora, nunca he llegado al punto donde la goma sale a la carretera. Mi agenda principal es mejor explicado por Nat Friedman's "How to become a hacker".

Soy consciente de O'Reilly 'Beautiful Código', pero lo veo como demasiado avanzado y confuso para un principiante.

+0

Comentando en mi propia publicación: Podría recomendar "Beginning Python" de Magnus Lie Hetland, que en realidad pasa por lo básico y termina con 10 proyectos sencillos desde cero para completar los listados de códigos (muy buenos). Google Gears, que es todo lo que Python también me llamó la atención hace unos momentos. – Aputsiaq

+0

Beginning Python: de principiante a profesional (Magnus Lie Hetland) Enlace http://books.google.com.au/books/about/Beginning_Python.html?id=S0l1YFpRFVAC&redir_esc=y – Sam

Respuesta

18

Comprar Programming Collective Intelligence. Gran libro de interesantes algoritmos de IA basados ​​en datos de minería y todos los ejemplos son muy fáciles de leer Python.

El otro gran libro es Text Processing in Python

+0

cuando vi esta pregunta, tardé .1 segundos en pensar en este libro, lástima que la respuesta ya estuviera aquí :) ¡votaron! – ryw

+0

He ordenado ambos ahora y, además, "Python Cookbook" de Alex Martelli (et al). – Aputsiaq

+0

Tenga en cuenta que hay algunos modismos no epónimos usados ​​en el código de ese libro. Pero todavía puede ser bueno para la exposición a la lanaguage y es legible. – Greg

7

Lea el pitón propias bibliotecas. están trabajando, piratear, elegante y de instrucción. algunos es simple, algunos es compleja.

Lo mejor de todo, lo obtuviste cuando descargaste Python. Está en el directorio de tu biblioteca de Python. Nada más que hacer excepto empezar a hurgar.

+0

Gracias por el gran consejo. Revisé la fuente y la encontré muy parecida a lo que buscaba. Me gusta que las expresiones, funciones y etcétera se deletreen y se comentan muy bien. Necesitaré un par de sesiones antes de que empiece a cambiar algo aquí. :-) – Aputsiaq

+0

S.Lott: ¿Recomiendas algún módulo/módulo en particular? ¿O debería comenzar con los que uso con frecuencia (por ejemplo, ctypes, unittest, doctest)? – MikeRand

+1

@MikeRand: por supuesto, debe comenzar con los que usa, ya tiene una idea de lo que son y cómo funcionan. Excavar en un territorio desconocido puede ser demasiado para aprender a la vez. –

2

Hermoso es tan difícil de definir, no hay una respuesta real a esta pregunta. Su mejor consejo que sigue lo que Nat dice en el post se conectó:

  1. Descargar el código fuente para el programa que desea cambiar
  2. Descomprimir en su disco duro
  3. reciba para generar y ejecutar
  4. abierto el código fuente en un editor
  5. encontrar la parte del código que necesita cambiar para que el programa haga lo que usted quiere que haga
  6. hacer los cambios que necesita hacer para el código y probarlo para asegurarse de que funciona
  7. ejecute el comando diff -u y por correo electrónico la salida a la lista de correo

No hay ningún punto en busca de código hermoso. Solo mire y corrija errores en proyectos que use (Django & Twisted pueden ser buenos candidatos).

+0

Sí, llegaría a la casi la misma conclusión; es decir, lea mucho más código y descubra cómo encajan las cosas juntas. Comience cambiando una línea y vea qué sucede, solo por diversión, más adelante tratando de mejorar la situación. Lo más importante: ¡solo gasta tiempo real con el código! – Aputsiaq

1

Yo personalmente creo que la lectura de un buen código no funcionará hasta que haya una firme comprensión de la lengua, especialmente de sus expresiones. Primero, recomiendo el Wikilibro básico "Non-Programmer's Tutorial for Python" para comenzar.Si la mayoría de eso tiene sentido, ya tienes una buena comprensión de los conceptos básicos.

Después de eso, recomiendo Dive into Python. Verá a muchas otras personas que recomiendan este libro, porque es completo y gratuito. Aprenderá muchas expresiones idiomáticas específicas en Dive in Python, especialmente en los primeros capítulos. Mientras lo estás leyendo, intenta hacer programas básicos usando las técnicas que Mark Pilgrim muestra.

Inmersión en Python se introduce en módulos específicos más adelante en el libro. Eso probablemente será un poco aburrido, y cuando lo haga, es posible que desee ver el código. No me siento calificado para clasificar el código utilizado por estos, pero Django y Deluge son proyectos más grandes que le mostrarán la organización de programas grandes. Aunque probablemente sean abrumadores a menos que te tomes el tiempo para atacarlos de una pieza a la vez y obtener una comprensión firme.

0

Recomendaría que revise Exaile music player for linux. Incluye muchas cosas prácticas útiles como complementos, lambda, decoradores, administrador de configuración, interfaz gráfica de usuario (con GTK +) y mucho más.

El código fuente exacto no es ideal, pero le brindará suficiente información útil y conceptos básicos de codificación de Python.

5

Solo hazlo.

En serio, nunca aprenderá a ser un buen programador hasta que escriba algunos programas. Primero escribirá los programas incorrectos, luego los arreglará, luego escribirá los mejores, etc.

Si no está motivado insaciablemente para intentar la codificación, entonces tal vez no sea para usted . Una forma de motivarse es conseguir un trabajo que requiera que codifique ... para mí, no hay nada como tener mi salario y orgullo en la línea para hacer que funcione :)

+0

Tienes razón para comenzar, pero también he estado en la situación muchas veces ahora en donde he leído material introductorio y escrito "Hello World" en C++/Java/Python/PHP sin ir a ninguna parte útil para la realidad . Creo que la razón es que nunca leo mucho código realmente útil. – Aputsiaq

+1

¿Qué quieres * escribir? Si no tiene un objetivo para lo que desea programar, no aprenderá ningún lenguaje de programación lo suficientemente bien como para hacer cosas prácticas. –

+0

Gracias Dan, soy consciente de que estás golpeando un punto débil. :) Un proyecto que tengo en mente es agregar funciones a un programa de tareas pendientes que se encuentra en Showmedo (# 1830010). Podría ser un punto de inflexión para comenzar ahora. Para citar a Aristóteles: "Para las cosas que tenemos que aprender antes de que podamos hacer, aprendemos haciendo". – Aputsiaq

Cuestiones relacionadas