Wie lerne ich Python von Null bis zur Webentwicklung? [geschlossen]

48

Ich möchte Python für die Webentwicklung lernen.

Vorausgesetzt, ich habe bereits einige grundlegende Webentwicklungserfahrungen mit Java (JSP / Servlets). Ich bin bereits mit Webdesign (HTML, CSS, JS) und grundlegenden Programmierkonzepten vertraut. Wie gehe ich vor? Python in einer strukturierten Weise lernen, die mich schließlich zur Webentwicklung mit Python und Django führen wird?

Ich habe es nicht eilig, Webanwendungen in Python zu erstellen, daher möchte ich es wirklich gründlich lernen, um keine Lücken in meinem Wissen über die Technologien für die Webentwicklung in Python zu hinterlassen. Gibt es Bücher, Ressourcen oder Techniken, die mir bei meinen Bemühungen helfen? In welcher Reihenfolge soll ich sie lesen?

AKTUALISIEREN:

Wenn ich von strukturiertem Lernen spreche, dann beginne ich mit den Grundlagen und lerne dann die fortgeschrittenen Dinge, ohne einige der wichtigen Details / Funktionen, die Python zu bieten hat, zu belassen. Ich möchte wissen, wie ich die Dinge, die ich bereits beim Programmieren weiß, auf Python anwenden kann.

Terence Ponce
quelle
6
+1 für nicht in Eile. Dies ist der beste Weg, eine Sprache zu lernen, Dinge auszuprobieren, aber nicht in ein Produktionsprojekt einzutauchen, um eine Sprache zu lernen.
Chris

Antworten:

49

Lerne zuerst Python gut

Hier finden Sie einige Online-Ressourcen zum Erlernen von Python

  1. Das Python-Tutorial
  2. Wiki-Buch
  3. Byte von Python
  4. Fertigkeiten in Python Version 2.5 aufbauen
  5. Python Kostenlose Online-E-Books
  6. Python Bibliotheca
  7. Denken Sie an Python
  8. Datenstrukturen und Algorithmen in Python
  9. Wie man wie ein Informatiker denkt: Lernen mit Python
  10. Python zum Spaß
  11. Erfinden Sie Ihre eigenen Computerspiele mit Python
  12. Lerne Python auf die harte Tour
  13. In Python denken
  14. Snake Wrangling für Kinder

Für Django können Sie sich beziehen

Was ich vorschlage, ist

  1. Das Python-Tutorial
  2. Wiki-Buch
  3. Das Django-Buch

Schauen Sie sich auch dieses Video an

Chankey Pathak
quelle
6
Tolle Liste! Ich habe gehört, Dive Into Python ist ideal für erfahrene Programmierer, um mit Python zu beginnen.
Terence Ponce
Derzeit arbeitet Dive into Python mit Hochgeschwindigkeit und ist eine fantastische Ressource für bestehende Programmierer, die die Sprache lernen möchten! Ich schlage vor, in Kapitel 2 und 3 zu arbeiten, um zu sehen, wie es geht, damit Sie sich sehr gut an der Syntax und den Datentypen orientieren können :)
15.10.10
@Terence: Ich kann dem zustimmen, wenn man bedenkt, dass dies genau das ist, was ich gerade getan habe. Kam von einem CSE-Studenten mit Java, C, PHP (bei der Arbeit) und verschiedenen anderen Sprachen und brachte mich auf den neuesten Stand.
Chris
+1) für TheDjangoBook und das Video. Python Web Programming könnte auch eine gute Wahl sein.
Ravi404
15

Nimm das nicht zu ernst, aber ...

  • erstelle einen Dateinamen app.pymit folgendem Inhalt:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
  • Unter der Annahme, dass Sie pip(Python-Paket-Installer) installiert haben, gehen Sie wie folgt vor:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
  • Jetzt können Sie Ihre erste Web-App unter localhost, Port 5000, besuchen.

Das wäre Ihre erste Python-Webanwendung. Alles, was danach folgt, ist eine "Verfeinerung" der Struktur, Funktionalität und des Erscheinungsbilds der Anwendung.

Miku
quelle
8

Wenn Sie nach einer Webentwicklung in Python suchen, dann sollten Sie sich nach einem gründlichen Verständnis von Python Flask ansehen. Django und andere Full-Stack-Frameworks würden Ihr Leben auf jeden Fall viel einfacher machen, aber insgesamt würden Sie ein unvollständiges Gefühl haben, als hätten Sie nicht viel gelernt. Flask IMHO ist das derzeit beste Framework in Python, aber das ist nur meine Meinung.

Rasmus
quelle
4

Ich möchte auch die Python Koans zum Lernen empfehlen: http://github.com/gregmalcolm/python_koans

Sie sind den Ruby Koans ziemlich ähnlich (viele davon wurden direkt portiert) und sind ziemlich cool.

Tyler
quelle
1
Würde es Ihnen etwas ausmachen, mehr darüber zu erklären, was es tut, und warum empfehlen Sie es als Antwort auf die gestellte Frage? "Nur-Link-Antworten" sind bei Stack Exchange
gnat
3

http://learnpythonthehardway.org

Ist ein kostenloses Online-Buch, das eine Reihe von 52 Lektionen in Python enthält.

Wenn Sie mit Lektion 1 beginnen und bis Lektion 52 durcharbeiten, sollten Sie genug lernen, um sich selbst als kompetenter Programmierer in der Python-Sprache zu bezeichnen.

Jede Lektion enthält Codebeispiele, bei denen Sie sich die Zeit nehmen sollten, um sie einzugeben, und dann ALTER ausführen, um zu sehen, wie sich die Ergebnisse ändern.

Es ist dieser Prozess, durch den die meisten Leute, die ich kenne, generell das Programmieren lernen.

Alex C
quelle
1
Würde es Ihnen etwas ausmachen, dies näher zu erläutern - wie und warum wird die gestellte Frage beantwortet? "Nur-Link-Antworten" sind bei Stack Exchange
gnat
1
Hoffentlich entspricht das oben Genannte Ihren Bedürfnissen. Danke für die Rückmeldung.
Alex C
1
Sie sollten die Übungen auf keinen Fall kopieren und einfügen, da dies Ihnen beim Lernen nicht weiterhilft. Aus dem ersten Kapitel des Buches: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
Danke Marco. Ich habe auch die Antwort angepasst, um diesen Punkt widerzuspiegeln.
Alex C
0

Die Webentwicklung kommt immer auf eine Sache zurück: und das ist der Browser. Lernen Sie HTML, CSS und JavaScript sehr gut und es wird Ihnen bei jeder Sprachänderung helfen.

Www.w3schools.com ist ein großartiger Ort, um diese Dinge zu lernen, aber wenn es um CSS geht, ist es oft sehr nützlich, sich einfach hinzusetzen und damit zu spielen. Finden Sie ein cooles Webdesign und implementieren Sie es von Hand in HTML. Dies ist eine sehr, sehr notwendige Fähigkeit, wenn einer Ihrer serverseitigen Codes zu HTML führt.

Als nächstes mag ich Ihren logischen Ansatz, aber es ist möglicherweise nicht der beste Weg, dies zu tun. Ein lohnenderer Ansatz kann darin bestehen, ein Ziel festzulegen, das Sie erreichen möchten, und auf dem Weg zu lernen.

Mit Django anzufangen ist jedoch möglicherweise nicht die beste Idee. Viele der Entscheidungen, die sie beim Entwerfen des Frameworks getroffen haben, sind nur dann sinnvoll, wenn Sie die Probleme kennen, die sie aus erster Hand lösen. Meine erste Web-Sprache war PHP, und die effektivste Art, die ich als Best Practices verstand, bestand darin, beschissenen, spröden Code zu schreiben, zu erkennen, dass es ein Problem gab, und Lösungen zu finden. Wenn ich nach einer Lösung suchen wollte, bevor ich das Problem verstand, konnte ich sie nicht effektiv anwenden.

Wenn Sie bereit sind, sich Zeit zu nehmen, kann es eine großartige Lernerfahrung sein, mit weniger abstrakten Technologien wie PHP zu beginnen.


quelle
2
Ich denke, Sie haben das, was ich über meine Erfahrung in der Webentwicklung und meine Kenntnisse der grundlegenden Programmierkonzepte gesagt habe, verpasst. Ich kannte HTML, CSS und Javascript bereits, bevor ich zu JSP / Servlets überging. Über den Ansatz (den ich wollte), um Python zu lernen, möchte ich nur wissen, wie ich das, was ich bereits in der Programmierung weiß, anwenden kann, ohne auf einige der Details / Funktionen zu verzichten, die Python zu bieten hat.
Terence Ponce
Vielleicht sollten Sie Ihren Beitrag präzisieren, wenn Sie sagen, dass Sie über grundlegende Erfahrung in der Webentwicklung verfügen. CSS, HTML und JavaScript können sehr komplex und leistungsstark sein. Ich habe lediglich versucht, einen Schwerpunkt darauf zu legen, wie wichtig es ist, in sie für jede Webentwicklung zu investieren.
Okay. Das tut mir leid. Ich werde meine Frage jetzt aktualisieren.
Terence Ponce