Me siento atrapado en el centro de Python, Cómo pasar al principiante [cerrado]

22

Realmente me disculpo si esto no sigue las reglas SO pero necesito un poco de ayuda, personalmente todavía me clasifico como un principiante en python. Sin embargo, he escrito un programa muy pequeño y MUY SEGURO para que mi jefe lo use.

Sé que todavía soy un principiante porque las cosas simples todavía me dejan perplejo, pero cada libro que leo para principiantes, sinceramente, reafirma lo que ya sé, pero cada libro 'más avanzado' realmente no me permite aprender, dependen de archivos de ejemplo y nunca entiendo por qué construyeron la función 'dijo' o la clase 'dijo'. Entonces sobre mi pregunta ...

¿Hay alguna recomendación sobre un libro o CUALQUIER COSA que me empuje a salir de esta etapa? He usado la cabeza primero y normalmente son realmente buenos, pero mi problema es que me tienen rastreando solo para avanzar nuevamente, funcionó en HTML pero es confuso en Python, básicamente creo que necesito construir un programa mientras lo sigo, una vez más, me gusta el estilo de HeadFirst pero necesito algo que no me obligue a recordar una cosa solo para olvidarlo ...

para que conste, he revisado algunos libros de O'Reilly

Isov5
fuente
77
Para cada concepto inicial, escriba algunos programas pequeños hasta que lo domine. Una vez que se sienta cómodo, haga lo mismo con más y más hasta llegar a cosas avanzadas. Solo leer sin practicar y codificar no te ayudará mucho.
66
¿Ya leíste Cómo pensar como un informático ?
Oscar Mederos
¿Ya has seguido el tutorial docs.python.org/tutorial/index.html ? ¿Tienes aspectos específicos que te confunden? Si pudiera ilustrarlos con algunos ejemplos de código, sería aún mejor.
juanchopanza
¿El jefe no necesita un programa más grande escrito en Python también? Necesitas experiencia ...
2
haz, prueba y haz preguntas cuando no entiendas, la gente aquí te ayudará.
monkut

Respuestas:

23

Deja de leer libros.

Vaya a escribir código usando el tiempo ahora libre de lectura. Práctica. Reflexionar. Enfrenta problemas reales en el código real que escribes.

Entonces tendrás suficientes preguntas que los libros avanzados pueden responder. Ahora no tiene estas preguntas, y las respuestas en los libros no tienen sentido para usted.

Esto es muy parecido a aprender un idioma extranjero o aprender a nadar: los libros solos no pueden ayudar. Necesitas practicar mucho, luego tu cerebro 'lo entiende'.

9000
fuente
19

FWIW, la forma en que realmente aprendí Python fue escribir una aplicación no trivial para . En realidad fue un reescritura de la misma aplicación que había creado previamente para aprender C (y C ++ más adelante), por lo que estaba muy familiarizado con los tipos de procesamiento que había que hacer. Durante cada (re) escritura, traté de aprovechar cualquier característica especial ofrecida por el idioma en particular utilizado o que simplemente quería probar.

Como beneficio adicional, cuando haya terminado o al menos tenga una versión que funcione, tendrá algo realmente útil, no un ejercicio de programación que no tenga valor por sí mismo. También puede volver más tarde y cambiar el programa después de aprender más sobre mejores formas de lograr cosas en el idioma.

Una forma muy útil de mejorar en cualquier lenguaje de programación es leer muchos otros programas. Una buena forma de hacerlo en estos días es usar Google, como se describe en esta respuesta de StackedOverflow . Este es un gran recurso y con frecuencia leerá el código de "fuerza industrial" escrito por programadores profesionales y utilizado en otras aplicaciones de la vida real.

Actualizar:

Dado que la búsqueda de código de Google se suspendió el 15 de enero de 2012, además de volver a las búsquedas regulares de Google, hay algo llamado Colección de fragmentos de código que parece prometedor. Varios otros recursos se mencionan en las respuestas a esta pregunta (cerrada) ¿ Reemplazo para Google Code Search? .

Martineau
fuente
55
Énfasis en lo no trivial. Para aprender a hacer cosas difíciles, intente hacer cosas difíciles.
Bryan Oakley
5

Simplemente sigue esforzándote por los conceptos fáciles. Haga pequeños programas encapsulando sus conceptos. En algún momento, llegarás a una cima de comprensión y las cosas nuevas tendrán más sentido para ti. También mantengo un directorio llamado fragmentos de Python. Lo encuentro útil como punto de partida en ciertos conceptos.

Otro truco que encuentro invaluable es leer el código de otras personas y comentarlo, resumiendo lo que hace cada línea y sección. Si no lo sé, entonces es hora de Google. De esta manera, veo Python en acción y puedo dividirlo en secciones ordenadas.

Un recurso particularmente rico para el código es la fuente Python misma.

Alan
fuente
5

Si no está seguro acerca de las bibliotecas Python básicas o el diseño orientado a objetos (ya que menciona que no sabe por qué se utilizó la clase "dicha" o la función "dicha"):

  1. Desarrollar habilidades en el diseño orientado a objetos realmente te ayuda a pensar a través del diseño orientado a objetos.

  2. El otro sitio de S.Lott, Building Skills in Python , también puede ser una buena manera de expandir sus habilidades de Python más allá de lo básico. Tiene muchas aplicaciones que son un poco más simples que los libros enumerados a continuación, pero que siguen siendo divertidas e instructivas.


Si su problema es que no puede descubrir cómo usar Python para hacer algo interesante:

1) Python principiante: de principiante a profesional se mete en algunas cosas interesantes: GUI, escribir su propia aplicación para compartir archivos, etc. También me gusta el estilo de Hetland.

2) Usted mencionó los libros de O'Reilly, pero Programming Python trata casi por completo con aplicaciones en lugar de sintaxis. Tiene muchas aplicaciones interesantes que harán fluir tus jugos creativos. Es un libro enorme (~ 1,500 páginas, creo), y 4e está completamente enfocado en Python 3, pero definitivamente abre los ojos sobre cómo las personas usan Python.

MikeRand
fuente
+1 para la referencia al sitio de S. Lott ... Nunca había visto ese antes.
Gerrat
4

Hay dos libros de Python que recomendaría, y uno de ellos ya fue mencionado por @MikeRand:

  • Dive Into Python 3 es un libro imprescindible que cubre temas introductorios y algunos más avanzados.
  • La programación de Python es, en mi humilde opinión, el libro adecuado para pasar a temas muy avanzados de Python. También cubre muchas áreas, por ejemplo (G) UI, aplicaciones del sistema, programación web, etc.

Tenga en cuenta que las últimas versiones de ambos libros cubren Python 3. Si trabaja con una versión anterior de Python, busque una versión anterior de los libros. FTR, una opción alternativa es Python for Software Design (anteriormente How to Think Like a Computer Scientist: Learning with Python mencionado por @ oscar-mederos) pero la mayor parte de su contenido también es introductorio (y en ese sentido recomendaría Dive Into Python) )

sakisk
fuente
3

La forma más eficiente es hacer que un mentor experimentado revise su código regularmente e implementar sus sugerencias. Este es uno de los mayores beneficios de un título universitario, pero no necesariamente tiene que ser tan formal como eso. Me considero un programador avanzado, pero sigo caminando por el pasillo para discutir las principales decisiones de diseño con un compañero antes de codificar, y obtener el producto final revisado después.

Karl Bielefeldt
fuente
0

Además de algunos de los libros mencionados (especialmente Cómo pensar como un informático ), consulte el sitio de Recetas de Python de ActiveState . Leer algunas cosas que le interesa, vistazo al código, y luego averiguar cómo se habría abordado el problema y cómo que difiere de lo que está en la receta.

Peter Rowell
fuente
-1

Esta es una sugerencia bastante extraña, pero la forma en que llegué a estar donde estoy es haciendo preguntas y viendo a otras personas hacer preguntas, y leyendo las respuestas. Entonces, navegar por las preguntas etiquetadas con Python de Stack Overflow, o (como en mi caso) convertirse en un habitual en #python en freenode.

Devin Jeanpierre
fuente
-3

Pruebe el libro "Hello World! Computer Programming for Teens and Other Beginners" de Warren y Carter Sande, así aprendí Python Scripting, o escuché "Hello! Python" de Anthony Briggs, también es un libro fantástico.

Concéntrese en organizar sus programas con funciones, comentarios y algún tipo de estructura sobre cómo fluye. No lo olvide: un programa es simplemente un conjunto de instrucciones que la computadora sigue. Haz que sea fácil de leer y entender.

ryanb173
fuente