2
1

Después de leer este articulo de Stephen Ferg, ¿Que debería aprender todo programador principiante? (inglés), me asalta la curiosidad acerca de lo que debería aprender todo programador que quiera hacerlo en Python, ¿que creéis vosotros que es indispensable?

¿Cuales son los temas que todo aquel quiera programar en Python debería conocer/dominar?

No estoy de acuerdo con todos los puntos del articulo y creo que faltan algunos que a mi me parecen básicos.

preguntado 24 May '11, 21:10

joe%20di%20castro's gravatar image

joe di castro ♦♦
2.4k254975
Aceptadas: 40%

editó 24 May '11, 21:18


Una pregunta parecida a la tuya leída en StackOverflow.

La respuesta más votada traducida dice algo así como lo siguiente:

Creo que el proceso hacía la maestría en Python sería algo así:

-Descubrir las list comprehensions

-Descubrir los generators

-Incorporar map, reduce, filter, iter, range, xrange a menudo dentro de tu código

-Descubrir los Decorators

-Escribir funciones recursivas, un montón

-Descubrir itertools y functools

-Leer Real World Haskell

-Reescribir todo tu viejo código Python con toneladas de funciones de orden superior, recursión y todo eso.

-Enojar a tus colegas de cubículo todas las veces que te presenten una clase Python. Reivindicar que sería 'mejor' si se implementase como un diccionario más algunas funciones. Abrazar la programación funcional.

-Redescubrir el Strategy pattern y luego todas esas cosas del código imperativo que intentaste olvidar con todas tus fuerzas después de Haskell.

-Encontrar un equilibrio (Find a balance).

enlace permanente

respondido 01 Jun '11, 23:16

kikocorreoso's gravatar image

kikocorreoso
86181731
Aceptadas: 35%

Como guía general, el libro de Raúl González Duque "Python para todos" aborda todos los temas imprescindibles:

  • Tipos básicos
  • Control de flujo
  • Funciones
  • Orientación a objetos
  • Programación funcional
  • Excepciones
  • Módulos y paquetes
  • Entrada / Salida
  • Expresiones regulares
  • Sockets
  • Interacción con webs
  • Threads
  • Serialización de objetos
  • Bases de datos
  • Documentación (docutils)
  • Pruebas (test)
  • Distribuir aplicaciones Python

Fuera de lo que es python, completaría la formación aprendiendo otros lenguajes que permitan conocer mejor las limitaciones y virtudes de python. Como listado rápido, me miraría lenguajes que usen otros paradigmas de la programación como Scheme/Lisp, Smalltalk, Haskell,... o mirar otros parecidos a python: ruby, lua, boo,... (Como mínimo, Scheme y Lua).

En cuanto a teoría que se debería conocer, en el artículo se habla de conocer UML y Patrones de Diseño. Personalmente, no los veo como conocimientos "necesarios" para un buen programador de python, pero siempre resulta útil para entenderse con programadores de otros lenguajes.

enlace permanente

respondido 26 May '11, 12:58

chemacortes's gravatar image

chemacortes
3.3k34047
Aceptadas: 58%

editó 26 May '11, 12:59

El libro me parece bueno pero también me parece que en algunos capítulos, el tema central del capítulo se trata de forma superficial y quizá queda cojo para un principiante que necesita afianzarse más en algún tema básico.

(26 May '11, 17:00) kikocorreoso

Precisamente ésa es su virtud, el hacerte una idea global de los temas esenciales para la programación python, en español, y sin entrar en demasiados detalles. Para libros sobre python, lo mejor es acudir a otra pregunta que lo trataba.

(26 May '11, 18:02) chemacortes

Yo creo que ante todo ser un buen analista y diseñador, pq muchas veces pasamos directo al codigo sin pensar como resolver de la mejor manera el problema.

Mas que aprender a hechar codigo, es aprender a resolver problemas de la forma mas eficiente, pero a la vez lo mas sencillo posible

luego para mi todo lo que han mencionado acerca de este maravilloso lenguaje :P

enlace permanente

respondido 19 Jun '11, 20:59

jpadillaa's gravatar image

jpadillaa
165459
Aceptadas: 0%

Como en cualquier lenguaje.... lo básico (ciclos, manejo de archivos, excepciones, conexión y manejo de base de datos) y con un poco de imaginación darse cuenta que puede lograr mucho; entonces aventurarse a cosas un poco de más nivel (manejo de sockets, programación de ambientes gráficos, etc)

enlace permanente

respondido 25 May '11, 04:08

maengora's gravatar image

maengora
61127
Aceptadas: 14%

Pues yo creo que un muy buen manual para un principiante (en python) sería Python Essential Reference de David Beazley.

La primera parte trata sobre lo típico, datos, bucles, funciones, clases, OOP, testing,... Y luego en una segunda parte ya se mete más en la librería estándar de python y en temas concretos de interés para un público más reducido (web, bases de datos, algoritmos, manejo de cadenas, matemáticas,...).

Obviamente no cubre todo lo que es la programación pero sí cubre un gran espectro de interés para un principiante. El libro son seiscientas y pico páginas y en algunos momentos puede resultar algo árido pero es muy buen compañero para consultar de vez en cuando (principiante, eterno principiante como yo, o también válido para alguien más avanzado). Además creo recordar que los ejemplos están explicados para python 2 y 3.

Y todo esto lo digo yo que no tengo ninguna formación en programación y no tengo mucha idea en general :-P

enlace permanente

respondido 25 May '11, 19:22

kikocorreoso's gravatar image

kikocorreoso
86181731
Aceptadas: 35%

editó 25 May '11, 19:27

Tu respuesta
Activar/desactivar vista previa

Seguir esta pregunta

Por Email:

Una vez que entres podrás suscribirte desde aquí para recibir actualizaciones

Por RSS:

Respuestas

Respuestas y Comentarios

Trucos del editor

  • *italic* or __italic__
  • **negrita** o __negrita__
  • enlace:
    [texto](http://url.com/ "Pregunta")
  • imagen:
    ![alt texto](/path/img.jpg "Pregunta")
  • lista numerada:
    1. Foo
    2. Bar
  • Código:
    • Dentro de un parrafo:
      `codigo`
    • Fragmento de código:
      Selecciona el texto y usa el botón del icono de ceros y unos
  • Resaltado de sintaxis:
    Hay dos maneras de hacerlo:
    • La 1ª línea es un Shebang #!/usr/bin/env python
    • La 1ª línea es un lexer
      :::python

      Algunos lexer validos:
      :::python
      :::django
      :::css+django
      :::html+django
      :::console
      :::pycon
  • Para añadir un salto de línea simplemente deja una línea en blanco entre parrafos
  • se permite código HTML básico

Etiquetas de la pregunta:

×1
×1
×1

pregunta realizada: 24 May '11, 21:10

pregunta vista: 1,428 veces

última modificación: 19 Jun '11, 20:59

Preguntas relacionadas