¿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.


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

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.


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.



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.


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.