¿Cómo aprendo Python desde cero hasta el desarrollo web? [cerrado]

48

Estoy buscando aprender Python para el desarrollo web.

Suponiendo que ya tengo experiencia básica en desarrollo web con Java (JSP / Servlets), ya estoy familiarizado con el diseño web (HTML, CSS, JS), los conceptos básicos de programación y que soy completamente nuevo en Python, ¿cómo hago? aprender Python de una manera estructurada que eventualmente me llevará al desarrollo web con Python y Django?

No tengo prisa por hacer aplicaciones web en Python, así que realmente quiero aprenderlo a fondo para no dejar vacíos en mi conocimiento de las tecnologías que involucran el desarrollo web en Python. ¿Hay libros, recursos o técnicas para ayudarme en mi esfuerzo? ¿En qué orden debo hacerlos / leerlos?

ACTUALIZAR:

Cuando digo aprender de manera estructurada, me refiero a comenzar desde lo básico y luego aprender las cosas avanzadas sin dejar algunos de los detalles / características importantes que Python tiene para ofrecer. Quiero saber cómo aplicar las cosas que ya sé en programación a Python.

Terence Ponce
fuente
66
+1 por no tener prisa. Esta es la mejor manera de aprender un idioma, probar cosas pero no sumergirse en un proyecto de producción para aprender un idioma.
Chris

Respuestas:

49

Primero aprende bien Python

Aquí hay algunos recursos en línea para aprender Python

  1. El tutorial de Python
  2. Wiki-Book
  3. Byte de Python
  4. Desarrollar habilidades en Python versión 2.5
  5. Libros electrónicos en línea gratuitos de Python
  6. Python Bibliotheca
  7. Piensa en Python
  8. Estructuras de datos y algoritmos en Python
  9. Cómo pensar como un informático: aprender con Python
  10. Python for Fun
  11. Inventa tus propios juegos de computadora con Python
  12. Aprende Python de la manera difícil
  13. Pensando en Python
  14. Serpiente discutiendo para niños

Para Django puedes referir

Lo que sugiero es

  1. El tutorial de Python
  2. Wiki-Book
  3. El libro de Django

También mira este video

Chankey Pathak
fuente
66
Gran lista! Escuché que Dive Into Python es ideal para programadores experimentados para comenzar en Python.
Terence Ponce
Trabajando a través de Dive into Python actualmente, es rápido y un recurso fantástico para los programadores existentes que desean aprender el idioma. Sugiero trabajar en los capítulos 2 y 3 para ver cómo funciona, eso lo orientará muy bien con la sintaxis y los tipos de datos :)
invierta el
@Terence: Estoy de acuerdo teniendo en cuenta que esto es exactamente lo que acabo de hacer. Proveniente de una licenciatura de CSE que usa java, c, php (en el trabajo) y varios otros idiomas, este libro me puso al día.
Chris
+1) para TheDjangoBook y el video. La programación web de Python también podría ser una buena opción.
ravi404
15

No te lo tomes demasiado en serio, pero ...

  • crear nombre de archivo app.pycon el siguiente contenido:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
    
  • suponiendo que tiene pip(paquete python instalador) instalado , haga lo siguiente:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
    
  • Ahora puede visitar su primera aplicación web en localhost, puerto 5000.

Esa sería su primera aplicación web de Python. Todo lo que sigue es "refinamiento" en la estructura, funcionalidad y apariencia de la aplicación.

miku
fuente
8

Si el desarrollo web en Python es lo que está buscando, entonces, después de un conocimiento profundo de Python, le sugiero que eche un vistazo a Flask. Django y otros frameworks de pila completa definitivamente te harán la vida mucho más fácil, pero en general te dejarán con una sensación incompleta de que no has aprendido mucho. Flask, en mi humilde opinión, es el marco más impresionante en python a partir de ahora, pero sí, esa es solo mi opinión.

Rasmus
fuente
4

También me gustaría recomendar Python Koans para el aprendizaje: http://github.com/gregmalcolm/python_koans

Son bastante similares a los Ruby Koans (muchos de ellos fueron portados directamente) y son bastante geniales.

Tyler
fuente
1
¿Le importaría explicar más sobre lo que hace y por qué lo recomienda como respuesta a la pregunta que se hace? "Enlace de sólo responde" no están muy bienvenida en la pila de Cambio
mosquito
3

http://learnpythonthehardway.org

Es un libro en línea gratuito que contiene una serie de 52 lecciones en python.

Al comenzar la lección 1 y continuar hasta la lección 52, debe aprender lo suficiente como para considerarse un programador competente en el lenguaje python.

Cada lección tiene ejemplos de código que debe tomarse el tiempo de escribir y EJECUTAR y luego ALTERAR para ver cómo eso cambia los resultados.

Es ese proceso por el cual la mayoría de las personas que conozco generalmente aprenden programación.

Alex C
fuente
1
¿Le importaría explicar esto con más detalle? ¿Cómo y por qué responde a la pregunta que se hace? "Enlace de sólo responde" no están muy bienvenida en la pila de Cambio
mosquito
1
Esperemos que lo anterior satisfaga sus necesidades. Gracias por la respuesta.
Alex C
1
Definitivamente no debes copiar y pegar los ejercicios porque no te ayudará a aprender en absoluto. Desde el primer capítulo del libro:You must type each of these exercises in, manually. If you copy and paste, you might as well just not even do them. The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code. If you copy-paste, you are cheating yourself out of the effectiveness of the lessons.
marco-fiset
1
Gracias Marco También he ajustado la respuesta para reflejar ese punto.
Alex C
0

El desarrollo web siempre vuelve a una cosa: y ese es el navegador. Aprenda HTML, CSS y JavaScript muy bien, y le servirá a pesar de cualquier cambio de idioma.

Www.w3schools.com es un gran lugar para aprender estas cosas, pero cuando se trata de CSS, a menudo es muy útil sentarse y jugar con él. Encuentre un diseño web genial e impleméntelo en HTML a mano. Esta es una habilidad muy, muy necesaria si alguno de los códigos del lado del servidor da como resultado HTML.

A continuación, me gusta su enfoque lógico, pero podría no ser la mejor manera de hacerlo. Un enfoque más gratificante puede ser establecer una meta que desee lograr y aprender en el camino.

Sin embargo, comenzar con django puede no ser la mejor idea. Muchas de las decisiones que tomaron al diseñar el marco solo tendrían sentido si hubiera experimentado los problemas que resuelven de primera mano. Mi primer lenguaje web fue php, y la forma más efectiva de entender las mejores prácticas fue escribir código frágil y frágil, dándome cuenta de que había un problema y buscando soluciones. Si tuviera que investigar una solución antes de entender el problema, no podría aplicarla de manera efectiva.

Si está dispuesto a tomarse su tiempo en esto, tal vez comenzar con un conjunto de tecnología menos abstracta como php puede ser una gran experiencia de aprendizaje.


fuente
2
Creo que te perdiste lo que dije sobre mí que ya tenía experiencia en desarrollo web y estaba familiarizado con los conceptos básicos de programación. Ya conocía HTML, CSS y Javascript antes de pasar a JSP / Servlets. Sobre el enfoque (que quería) para aprender Python, solo quiero saber cómo aplicar lo que ya sé en programación sin perder algunos de los detalles / características que Python tiene para ofrecer.
Terence Ponce
Quizás debería aclarar su publicación, ya que dice que tiene experiencia básica en desarrollo web ... CSS, HTML y JavaScript pueden ser muy complejos y potentes. Simplemente estaba tratando de poner énfasis en la importancia de invertir en cualquier desarrollo web.
Bueno. Lo siento por eso. Actualizaré mi pregunta ahora.
Terence Ponce