Comment apprendre le développement de Python de zéro au développement Web? [fermé]

48

Je cherche à apprendre Python pour le développement Web.

En supposant que j'ai déjà une expérience de base en développement Web avec Java (JSP / Servlets), je suis déjà familiarisé avec la conception Web (HTML, CSS, JS), les concepts de base de la programmation et que je suis complètement nouveau en Python, comment puis-je m'y prendre apprendre Python de manière structurée qui me mènera éventuellement au développement Web avec Python et Django?

Je ne suis pas pressé de créer des applications Web en Python. Je souhaite donc vraiment l'apprendre à fond pour ne pas laisser de lacunes dans mes connaissances des technologies impliquant le développement Web en Python. Existe-t-il des livres, des ressources ou des techniques pour m'aider dans mon entreprise? Dans quel ordre dois-je les lire / les lire?

MISE À JOUR:

Quand je dis apprendre de manière structurée, je veux dire commencer par les bases puis apprendre les bases avancées sans laisser certains des détails / fonctionnalités importants que Python a à offrir. Je veux savoir comment appliquer à Python ce que je sais déjà en programmation.

Terence Ponce
la source
6
+1 pour ne pas être pressé. C’est le meilleur moyen d’apprendre une langue, d’essayer, mais ne vous lancez pas dans un projet de production pour apprendre une langue.
Chris

Réponses:

49

D'abord apprendre bien Python

Voici quelques ressources en ligne pour apprendre Python

  1. Le tutoriel Python
  2. Livre Wiki
  3. Octet de Python
  4. Construire des compétences dans Python Version 2.5
  5. Ebooks gratuits en ligne Python
  6. Python Bibliotheca
  7. Pensez Python
  8. Structures de données et algorithmes en Python
  9. Comment penser comme un informaticien: apprendre avec Python
  10. Python pour le plaisir
  11. Inventez vos propres jeux informatiques avec Python
  12. Apprenez Python à la dure
  13. Penser en Python
  14. Snake Wrangling For Kids

Pour Django, vous pouvez vous référer

Ce que je suggère, c'est

  1. Le tutoriel Python
  2. Livre Wiki
  3. Le livre de Django

Regardez aussi cette vidéo

Chankey Pathak
la source
6
Grande liste! J'ai entendu dire que Dive Into Python était un bon moyen pour les programmeurs expérimentés de débuter en Python.
Terence Ponce
En travaillant actuellement avec Dive into Python, c'est un moyen rapide et une ressource fantastique pour les programmeurs existants qui souhaitent apprendre la langue! Je suggère de travailler avec les chp 2 et 3 pour voir comment ça se passe, cela vous orientera très bien avec la syntaxe et les types de données :)
invert
@ Terence: Je peux être d'accord pour dire que c'est exactement ce que je viens de faire. Venu d’un CST de premier cycle utilisant java, c, php (au travail) et diverses autres langues, ce livre m’a mis au courant.
Chris
+1) pour TheDjangoBook et la vidéo. La programmation Web Python pourrait également être un bon choix.
ravi404
15

Ne prenez pas cela trop au sérieux, mais ...

  • créer un nom de fichier app.pyavec le contenu suivant:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
  • en supposant que vous avez pip(programme d'installation du paquet python) installé, procédez comme suit:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
  • Vous pouvez maintenant visiter votre première application Web sous localhost, port 5000.

Ce serait votre première application Web Python. Tout ce qui suit est un "raffinement" de la structure, des fonctionnalités et de l'apparence de l'application.

miku
la source
8

Si vous recherchez un développement Web en python, je vous suggère de jeter un coup d’œil à Flask après une compréhension approfondie de celui-ci. Django et d'autres frameworks full stack vous rendraient certainement la vie beaucoup plus facile, mais globalement vous laisseraient un sentiment incomplet, comme si vous n'aviez pas beaucoup appris. Flask IMHO, est le framework le plus impressionnant en python pour le moment, mais oui, c'est juste mon avis.

Rasmus
la source
4

Je voudrais également recommander les Kohans Python pour apprendre: http://github.com/gregmalcolm/python_koans

Ils ressemblent beaucoup aux Ruby Koans (beaucoup ont été directement portés) et sont plutôt cool.

Tyler
la source
1
cela vous dérangerait-il d'expliquer davantage ce qu'il fait et pourquoi le recommandez-vous comme réponse à la question posée? « Link-ne répond » ne sont pas tout à fait la bienvenue à Stack Echange
moucheron
3

http://learnpythonthehardway.org

Est un livre en ligne gratuit contenant une série de 52 leçons de python.

En commençant à la leçon 1 et en passant à la leçon 52, vous devriez en apprendre suffisamment pour vous considérer comme un programmeur compétent dans le langage python.

Chaque leçon contient des exemples de code que vous devez prendre le temps de taper puis d’exécuter, puis de changer pour voir comment cela change les résultats.

C’est ce processus qui permet généralement à la plupart des gens que je connais d’apprendre à programmer.

Alex C
la source
1
cela vous dérangerait-il d'expliquer ceci plus en détail - comment et pourquoi répond-il à la question posée? Les "réponses en lien uniquement" ne sont pas tout à fait les bienvenues à Stack Exchange
gnat
1
Espérons que ce qui précède répond à vos besoins. Merci pour les commentaires.
Alex C
1
Vous ne devez absolument pas copier-coller les exercices car cela ne vous aidera pas du tout à apprendre. Du premier chapitre du livre: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 le
1
Merci Marco. J'ai également ajusté la réponse pour refléter ce point.
Alex C
0

Le développement Web revient toujours à une chose: et c'est le navigateur. Apprenez très bien le langage HTML, CSS et JavaScript. Il vous sera utile même si la langue change.

Www.w3schools.com est un excellent endroit pour apprendre ces choses, mais quand il s’agit de CSS, il est souvent très utile de s’asseoir et de jouer avec. Trouvez un design web sympa et implémentez-le en HTML à la main. Il s’agit d’une compétence très nécessaire si l’un des résultats de votre code côté serveur est au format HTML.

Ensuite, j'aime votre approche logique, mais ce n'est peut-être pas la meilleure façon de procéder. Une approche plus gratifiante peut être d’établir un objectif que vous souhaitez atteindre et d’apprendre en chemin.

Commencer par django n'est peut-être pas la meilleure idée. Un grand nombre des décisions qu’ils ont prises lors de la conception du cadre n’auraient de sens que si vous rencontriez les problèmes qu’ils résolvent eux-mêmes. Mon premier langage Web était le php, et la meilleure façon de comprendre les meilleures pratiques consistait à écrire du code peu fiable et fragile, en réalisant qu’il y avait un problème et en recherchant des solutions. Si je devais rechercher une solution avant de comprendre le problème, je ne pourrais pas l'appliquer efficacement.

Si vous êtes prêt à prendre votre temps, commencer par une technologie moins abstraite, telle que php, pourrait être une expérience enrichissante.


la source
2
Je pense que vous avez manqué ce que j'ai dit à propos de mon expérience déjà dans le développement Web et de ma connaissance des concepts de base de la programmation. Je connaissais déjà HTML, CSS et Javascript avant de passer à JSP / Servlets. En ce qui concerne l’approche (que je voulais) d’apprentissage de Python, je veux simplement savoir comment appliquer ce que je sais déjà en programmation sans perdre de vue certains des détails / fonctionnalités offerts par Python.
Terence Ponce
Peut-être devriez-vous clarifier votre message, car vous dites que vous avez une expérience de base en développement Web. CSS, HTML et JavaScript peuvent être très complexes et puissants. J'essayais simplement de souligner l'importance de l'investissement dans le développement Web.
D'accord. Désolé pour ça. Je vais mettre à jour ma question maintenant.
Terence Ponce