Kostenlos testen
Searching...
SoBrief
Deutsch
EnglishEnglish
EspañolSpanish
简体中文Chinese
繁體中文Chinese (Traditional)
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Learn Python 3 the Hard Way

Learn Python 3 the Hard Way

A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code
von Zed A. Shaw 2017 319 Seiten
3.92
500+ Bewertungen
Anhören
3 Tage Vollzugriff testen
Schalten Sie Audioinhalte & mehr frei!
Weiter

Wichtigste Erkenntnisse

1. Beherrschen Sie die Einrichtung und die wichtigsten Werkzeuge

Alles, was Sie brauchen, ist ein Editor, ein Terminal und Python.

Legen Sie die Grundlagen richtig. Bevor Sie eine einzige Zeile Code schreiben, stellen Sie sicher, dass Ihr Computer korrekt eingerichtet ist. Das bedeutet, Python 3.6 oder höher zu installieren, einen Programmier-Texteditor wie Atom zu verwenden (vermeiden Sie IDEs wie IDLE) und den Umgang mit der Kommandozeile Ihres Betriebssystems zu erlernen (Terminal auf macOS/Linux, PowerShell auf Windows). Diese Werkzeuge bilden Ihr Fundament.

Üben Sie Terminalbefehle. Die Kommandozeile ist der Ort, an dem Sie Ihre Python-Skripte ausführen und wie ein Programmierer mit Ihrem Computer interagieren. Nehmen Sie sich Zeit, grundlegende Befehle zur Navigation und Dateiverwaltung zu lernen:

  • pwd: Zeigt das aktuelle Verzeichnis an (wo Sie sich befinden)
  • cd: Wechselt das Verzeichnis (bewegt sich in einen anderen Ordner)
  • ls (bzw. dir unter Windows): Listet den Inhalt eines Verzeichnisses auf
  • mkdir: Erstellt ein neues Verzeichnis
  • rmdir: Löscht ein Verzeichnis

Verwenden Sie einen Texteditor. Ein Programmier-Texteditor bietet Funktionen wie Syntaxhervorhebung, die das Schreiben von Code erleichtern. Speichern Sie Ihre Python-Dateien mit der Endung .py. Lernen Sie, wie Sie Dateien erstellen, speichern und öffnen sowie wie Sie sie über das Terminal ansteuern.

2. Schreiben Sie Code exakt und schärfen Sie Ihre Aufmerksamkeit fürs Detail

Jeder einzelne Buchstabe muss genau stimmen, damit es funktioniert.

Präzision ist entscheidend. Programmieren verlangt höchste Aufmerksamkeit für Details. Computer sind wortwörtlich: Sie führen genau das aus, was Sie tippen, nicht das, was Sie meinen zu tippen. Das exakte Abschreiben von Codebeispielen, inklusive Satzzeichen und Leerzeichen, trainiert Ihr Gehirn, auf diese wichtigen Details zu achten.

Trainieren Sie Muskelgedächtnis. Code manuell zu tippen statt zu kopieren stärkt das Muskelgedächtnis und die Vertrautheit mit Syntax und gängigen Symbolen. Diese Wiederholung ist eine Kerntechnik der „harten“ Lernmethode, die darauf abzielt, grundlegende Fähigkeiten durch Übung zu festigen.

Erkennen Sie Unterschiede visuell. Eine wichtige Fähigkeit ist es, schnell Unterschiede zwischen Ihrem Code und dem korrekten Beispiel zu erkennen. Wenn Ihr Code nicht funktioniert, vergleichen Sie ihn Zeile für Zeile mit dem Original und achten Sie auf kleinste Abweichungen. Code rückwärts oder laut zu lesen kann helfen, Fehler besser zu entdecken.

3. Verstehen Sie Fehler und lernen Sie, sie zu beheben

Hören Sie auf zu starren und fragen Sie nach.

Fehler sind unvermeidlich. Sie werden Bugs schreiben. Selbst erfahrene Programmierer machen Fehler. Der Computer liegt nicht falsch – Ihr Code tut es. Zu lernen, Fehlermeldungen zu lesen und zu verstehen, ist entscheidend, um Probleme zu beheben. Pythons Traceback zeigt Ihnen Datei, Zeilennummer und Art des Fehlers an.

Hinterfragen Sie Ihren Code. Starren Sie nicht einfach auf fehlerhaften Code und hoffen Sie auf eine Eingebung. Suchen Sie aktiv nach Informationen. Nutzen Sie print-Anweisungen, um Werte von Variablen an verschiedenen Stellen Ihres Programms auszugeben und so zu sehen, was passiert und wo es schiefgeht. Das ist die effektivste Debugging-Methode.

Zerstören Sie Ihren Code absichtlich. Sobald Ihr Code funktioniert, versuchen Sie, ihn auf verschiedene Arten zum Scheitern zu bringen. Dieses Spiel hilft Ihnen zu verstehen, wie Python Ihren Code interpretiert und wie unterschiedliche Fehler sich äußern. Zu wissen, wie man Code kaputtmacht, macht Sie besser darin, ihn zu reparieren.

4. Lernen Sie grundlegende Datentypen und Operationen kennen

In der Programmierung ist eine Variable nichts anderes als ein Name für etwas...

Speichern Sie Informationen. Variablen sind Namen, die Sie Daten wie Zahlen oder Text zuweisen. Das macht Ihren Code lesbarer und leichter zu verwalten. Werte weisen Sie Variablen mit dem Gleichheitszeichen = zu. Variablennamen sollten aussagekräftig sein und mit einem Buchstaben oder Unterstrich beginnen.

Führen Sie Berechnungen durch. Programmiersprachen bieten eingebaute Möglichkeiten für mathematische Operationen. Lernen Sie die Symbole für die Grundrechenarten:

  • +: Addition
  • -: Subtraktion
  • *: Multiplikation
  • /: Division
  • %: Modulo (Restwert)
  • <: Kleiner als
  • >: Größer als
  • <=: Kleiner oder gleich
  • >=: Größer oder gleich
  • ==: Gleich
  • !=: Ungleich

Arbeiten Sie mit Text. Text wird in der Programmierung als „Strings“ dargestellt. Strings sind Zeichenketten, die in einfache (') oder doppelte (") Anführungszeichen eingeschlossen sind. Sie können Variablen in Strings mit sogenannten f-Strings (vorangestellt mit f) und geschweiften Klammern {} einbetten. Spezielle „Escape-Sequenzen“ wie \n (Zeilenumbruch) oder \t (Tabulator) erlauben es, schwer tippbare Zeichen in Strings zu verwenden.

5. Arbeiten Sie mit Sammlungen: Strings, Listen und Dictionaries

Ein Dictionary (oder dict) ist eine Möglichkeit, Daten zu speichern wie eine Liste, aber statt nur Zahlen zur Datenabfrage zu verwenden, können Sie fast alles als Schlüssel nutzen.

Geordnete Sequenzen. Listen sind geordnete Sammlungen von Elementen, die mit eckigen Klammern [] und Kommas erstellt werden. Auf Elemente in einer Liste greifen Sie über ihren numerischen Index zu, beginnend bei 0. Listen sind nützlich, um Reihenfolgen zu bewahren und Elemente nach Position anzusprechen.

Schlüssel-Wert-Zuordnungen. Dictionaries (dicts) sind ungeordnete Sammlungen, die Daten als Schlüssel-Wert-Paare speichern, erstellt mit geschweiften Klammern {}. Sie greifen auf Werte über ihre Schlüssel zu, die fast jeden unveränderlichen Typ haben können (z. B. Strings oder Zahlen), nicht nur numerische Indizes. Dicts sind ideal, um Informationen anhand eines bestimmten Identifikators nachzuschlagen.

Manipulieren Sie Sammlungen. Sowohl Listen als auch Dictionaries verfügen über eingebaute Funktionen (Methoden), um ihre Inhalte zu verändern und zu nutzen. Zum Beispiel fügt append() ein Element zu einer Liste hinzu, pop() entfernt und gibt ein Element zurück, und Dictionary-Methoden wie get() holen Werte sicher ab. Das Verständnis dieser Methoden ist der Schlüssel zum Umgang mit Datenstrukturen.

6. Steuern Sie den Programmablauf mit Logik und Schleifen

Eine if-Anweisung erzeugt eine sogenannte „Verzweigung“ im Code.

Treffen Sie Entscheidungen. if-Anweisungen erlauben Ihrem Programm, Entscheidungen zu treffen, basierend darauf, ob ein boolescher Ausdruck (etwas, das True oder False ergibt) wahr ist. Code unter einer if-Anweisung wird nur ausgeführt, wenn die Bedingung erfüllt ist. Verwenden Sie elif (else if) für weitere Bedingungen und else für eine Standardaktion, falls keine der vorherigen Bedingungen zutrifft.

Wiederholen Sie Aktionen. Schleifen ermöglichen es, einen Codeblock mehrfach auszuführen. for-Schleifen iterieren über eine Sequenz von Elementen (wie eine Liste oder einen String) und führen den Codeblock für jedes Element aus. while-Schleifen führen einen Codeblock so lange aus, wie ein boolescher Ausdruck True bleibt.

Strukturieren Sie Codeblöcke. In Python werden Codeblöcke, die zu if, elif, else, for und while gehören, durch Einrückung (vier Leerzeichen) definiert. Ein Doppelpunkt : am Ende der Anweisung zeigt den Beginn eines neuen eingerückten Blocks an. Korrekte Einrückung ist entscheidend, damit Python die Struktur Ihres Codes versteht.

7. Organisieren Sie Code mit Funktionen

Funktionen erfüllen drei Aufgaben: 1. Sie benennen Codeabschnitte... 2. Sie nehmen Argumente entgegen... 3. Mit 1 und 2 können Sie eigene „Mini-Skripte“ oder „kleine Befehle“ erstellen.

Fassen Sie Code zusammen. Funktionen sind benannte, wiederverwendbare Codeblöcke, die mit dem Schlüsselwort def definiert werden. Sie erlauben es, zusammengehörige Anweisungen zu gruppieren und mit einem aussagekräftigen Namen zu versehen, was Ihre Programme übersichtlicher und verständlicher macht.

Nehmen Sie Eingaben entgegen. Funktionen können Argumente (Eingaben) annehmen, die in Klammern () nach dem Funktionsnamen in der def-Zeile angegeben werden. Diese Argumente wirken wie Variablen, die beim Aufruf der Funktion Werte erhalten. So können Funktionen mit unterschiedlichen Daten arbeiten.

Geben Sie Ausgaben zurück. Funktionen können mit dem Schlüsselwort return einen Wert zurückgeben. So kann das Ergebnis der Berechnung an anderer Stelle im Programm verwendet und oft einer Variablen zugewiesen werden. Funktionen, die keinen Wert explizit zurückgeben, liefern implizit None.

8. Verstehen Sie objektorientierte Konzepte: Klassen und Objekte

Eine Klasse ist eine Möglichkeit, eine Gruppe von Funktionen und Daten in einem Behälter zu bündeln, auf den Sie mit dem Punktoperator . zugreifen können.

Baupläne für Dinge. Klassen sind Baupläne oder Vorlagen zur Erzeugung neuer „Dinge“ (Objekte). Sie definieren Eigenschaften (Attribute, wie Variablen) und Verhaltensweisen (Methoden, wie Funktionen), die Objekte dieser Klasse besitzen. Eine Klasse wird mit dem Schlüsselwort class definiert.

Instanzen von Bauplänen. Ein Objekt ist eine konkrete Instanz, die aus einer Klassenvorlage erzeugt wird. Sie erstellen ein Objekt, indem Sie die Klasse instanziieren, was aussieht wie ein Funktionsaufruf (z. B. mein_objekt = MeineKlasse()). Jedes Objekt besitzt seine eigene, einzigartige Datenmenge basierend auf der Klassendefinition.

Initialisieren Sie Objekte. Die Methode __init__ ist eine spezielle Funktion innerhalb einer Klasse, die automatisch ausgeführt wird, wenn ein neues Objekt erstellt wird. Sie dient dazu, den Anfangszustand des Objekts festzulegen, meist durch Zuweisung von Werten an seine Attribute. Der erste Parameter jeder Methode in einer Klasse, auch __init__, heißt konventionell self und verweist auf das Objekt selbst.

9. Navigieren Sie OOP-Beziehungen: Is-A, Has-A, Vererbung und Komposition

Die meisten Verwendungen von Vererbung lassen sich vereinfachen oder durch Komposition ersetzen, und Mehrfachvererbung sollte unbedingt vermieden werden.

Vererbung (Is-A). Vererbung ist eine Beziehung, bei der eine Klasse („Kind“ oder „Unterklasse“) Eigenschaften und Verhaltensweisen von einer anderen Klasse („Elternteil“ oder „Oberklasse“) übernimmt. Das ist eine „ist-ein“-Beziehung (z. B. ein Hund ist ein Tier). Die Unterklasse erbt Methoden und Attribute der Oberklasse, die sie implizit nutzen, überschreiben oder mit super() anpassen kann.

Komposition (Has-A). Komposition ist eine Beziehung, bei der eine Klasse Instanzen anderer Klassen als Bestandteile enthält. Das ist eine „hat-ein“-Beziehung (z. B. ein Auto hat einen Motor). Statt Funktionen zu erben, nutzt die Klasse die Funktionalität der enthaltenen Objekte, indem sie deren Methoden aufruft.

Wählen Sie mit Bedacht. Sowohl Vererbung als auch Komposition fördern die Wiederverwendung von Code, doch Komposition wird wegen ihrer Flexibilität und Klarheit meist bevorzugt, insbesondere um komplexe Mehrfachvererbung zu vermeiden. Verwenden Sie Vererbung, wenn eine klare Hierarchie und gemeinsame Kernfunktionalität vorliegt; nutzen Sie Komposition, um Objekte aus verschiedenen Teilen zusammenzusetzen.

10. Entwickeln Sie Software schrittweise mit automatisierten Tests

Software zu testen ist definitiv langweilig und mühsam, also schreiben Sie lieber ein bisschen Code, der das für Sie übernimmt.

Automatisieren Sie die Überprüfung. Automatisierte Tests sind kleine Codeabschnitte, die prüfen, ob andere Teile Ihres Codes wie erwartet funktionieren. Mit einem Test-Framework wie nose schreiben Sie Testfunktionen (beginnend mit test_), die mit Assertions (z. B. assert_equal) Ergebnisse überprüfen.

Entwickeln Sie testgetrieben. Eine wirkungsvolle Methode ist die „testgetriebene Entwicklung“, bei der Sie den Test vor dem eigentlichen Code schreiben. Sie formulieren einen Test, der beschreibt, wie der Code funktionieren soll, sehen ihn scheitern und schreiben dann gerade so viel Code, dass der Test besteht. So stellen Sie sicher, dass Ihr Code Anforderungen erfüllt und testbar ist.

Gewinnen Sie Sicherheit. Automatisierte Tests bieten ein Sicherheitsnetz. Wenn Sie Änderungen vornehmen oder neue Funktionen hinzufügen, zeigen Ihnen die Tests schnell, ob bestehende Funktionalität beschädigt wurde. So können Sie Ihren Code mit mehr Vertrauen überarbeiten und verbessern, ohne alles manuell prüfen zu müssen.

11. Wenden Sie Ihr Wissen an, um eine Webanwendung zu erstellen

Die meisten Softwareprogramme tun Folgendes: 1. Sie nehmen eine Eingabe von einem Menschen entgegen. 2. Sie verändern sie. 3. Sie geben etwas aus, um zu zeigen, wie es sich verändert hat.

Web-Frameworks erleichtern die Arbeit. Webanwendungen müssen Netzwerk-Anfragen verarbeiten, URLs routen, Eingaben aus Formularen auswerten und HTML-Antworten erzeugen. Frameworks wie Flask bieten Werkzeuge und Strukturen, um diese Komplexität zu bewältigen, sodass Sie sich auf die Logik Ihrer Anwendung konzentrieren können.

Verarbeiten Sie Anfragen und Antworten. Eine Webanwendung wartet auf Anfragen eines Browsers (z. B. eine bestimmte URL). Je nach URL und Anfragemethode (GET zum Anzeigen, POST zum Absenden von Formularen) führt die Anwendung spezifischen Python-Code (View-Funktionen) aus. Dieser verarbeitet Eingaben, interagiert mit Ihrer Spiellogik und erzeugt eine HTML-Antwort, die an den Browser zurückgesendet wird.

Nutzen Sie Templates und Sessions. Templates (wie Jinja2, das Flask verwendet) ermöglichen es, dynamische HTML-Seiten zu erstellen, indem Sie Python-Variablen und Logik in die HTML-Struktur einbetten. Sessions bieten eine Möglichkeit, Informationen über einen bestimmten Nutzer über mehrere Anfragen hinweg zu speichern – unerlässlich, um den Spielstand zu erhalten, während der Nutzer zwischen Seiten wechselt.

Zuletzt aktualisiert:

Report Issue

Rezensionsübersicht

3.92 von 5
Durchschnitt von 500+ Bewertungen von Goodreads und Amazon.

Lerne Python 3 auf die harte Tour erhält gemischte Bewertungen. Viele Anfänger schätzen das Buch wegen seines praxisorientierten Ansatzes und der starken Betonung des Programmierens. Der klare Stil und die gründliche Vermittlung der Grundlagen werden besonders gelobt. Dennoch kritisieren einige Leser den herablassenden Ton des Autors sowie den plötzlichen Anstieg des Schwierigkeitsgrades gegen Ende. Während das Buch gut geeignet ist, um die Syntax zu erlernen, eignet es sich weniger, um komplexere Konzepte wirklich zu verstehen. Zudem werden veraltete Inhalte und fehlende Erklärungen zu bestimmten Themen als Schwächen genannt.

Your rating:
4.44
111 Bewertungen
Want to read the full book?

Über den Autor

Shaw Zed A. ist der Autor von „Learn Python 3 the Hard Way“. Er ist bekannt für seine unkonventionellen Lehrmethoden und seinen direkten Schreibstil. Shaw legt großen Wert auf einen praxisorientierten Ansatz beim Programmierenlernen und ermutigt seine Leser häufig dazu, den Code selbst abzutippen, anstatt ihn einfach zu kopieren und einzufügen. Seine Bücher sind so gestaltet, dass sie reale Programmiererfahrungen widerspiegeln – inklusive der Frustrationen und Herausforderungen, die damit einhergehen. Shaw übt Kritik an bestimmten Programmierpraktiken und Werkzeugen, darunter integrierte Entwicklungsumgebungen (IDEs) und Aspekte der objektorientierten Programmierung. Darüber hinaus hat er weitere Programmierbücher in der „Learn the Hard Way“-Reihe verfasst, die verschiedene Programmiersprachen und Konzepte abdecken.

Follow
Anhören
Now playing
Learn Python 3 the Hard Way
0:00
-0:00
Now playing
Learn Python 3 the Hard Way
0:00
-0:00
1x
Queue
Home
Swipe
Library
Get App
Try Full Access for 3 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Heute: Sofortzugang erhalten
Vollständige Zusammenfassungen von über 26.000 Büchern anhören. Das sind über 12.000 Stunden Audio!
Tag 2: Erinnerung an Testphase
Wir senden Ihnen eine Benachrichtigung, dass Ihre Testphase bald endet.
Tag 3: Ihr Abonnement beginnt
Die Abbuchung erfolgt am Jun 13,
vorher jederzeit kündbar.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
600,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 3-Day Free Trial
3 days free, then $44.99/year. Cancel anytime.
Unlock a world of fiction & nonfiction books
26,000+ books for the price of 2 books
Read any book in 10 minutes
Discover new books like Tinder
Request any book if it's not summarized
Read more books than anyone you know
#1 app for book lovers
Lifelike & immersive summaries
30-day money-back guarantee
Download summaries in EPUBs or PDFs
Cancel anytime in a few clicks
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel