Programmieren lernen von Kopf bis Fuß

Ihr Einstieg in die Programmierung mit Python

Eric Freeman

Diese Publikation zitieren

Eric Freeman, Programmieren lernen von Kopf bis Fuß (2018), O'Reilly Verlag, Heidelberg, ISBN: 9783960101864

7835
Accesses
79
Quotes

Beschreibung / Abstract



Was lernen Sie in diesem Buch?

Es ist kein Geheimnis, dass die Welt um Sie herum immer computerbasierter, vernetzter, konfigurier- und programmierbarer wird. Sie können passiv daran teilhaben – oder Sie können lernen zu programmieren. In diesem Buch erfahren Sie, wie Sie Code schreiben, mit dem Sie Ihren Computer, Ihr Mobilgerät oder alles, was sich programmieren lässt, dazu bringen, Dinge für Sie zu tun. Mit der Programmiersprache Python erarbeiten Sie sich Schritt für Schritt die Grundkonzepte der Programmierung sowie viele grundlegende Themen der Informatik wie Speicherung, Datenstrukturen, Abstraktion, Rekursion oder Modularität.



Warum sieht dieses Buch so anders aus?

In dieses Buch sind die neuesten Erkenntnisse der Kognitionsforschung und der Lerntheorie eingeflossen, um Ihnen das Lernen so einfach wie möglich zu machen. Statt einschläfernder Bleiwüsten verwendet dieses Buch eine Vielzahl von Abbildungen und Textstilen, die Ihr Gehirn auf Trab halten und Ihnen das Wissen direkt ins Hirn spielen – und zwar so, dass es sitzt.


Beschreibung


Eric Freeman ist Informatiker und begeistert sich für Software- und Medienarchitektur. Er hat vier Jahre in einem Traumjob bei Disney.com gearbeitet, wo er ein Projekt zu Breitbandinternet und drahtloser Übertragung geleitet hat. Er arbeitet als Autor, programmiert coole Software und betätigt sich als Java- und Mac-Hacker.


Einen großen Teil der 90er-Jahre hat Eric damit verbracht, sich gemeinsam mit David Gelernter mit Alternativen zur Desktop-Metapher zu beschäftigen (und noch heute fragen beide: "Warum muss ich einer Datei einen Namen geben?"). Auf der Grundlage dieser Arbeiten promovierte Eric 1997 an der Yale University. Er hat außerdem Mirror Worlds Technologies mit begründet, um dort Lifestreams, eine kommerzielle Version seiner Dissertation, zu entwickeln.


In einem früheren Leben hat Eric Software für Netzwerke und Supercomputer entwickelt. Vielleicht kennen Sie ihn aus Büchern wie "JavaSpaces Principles, Patterns and Practice". Er denkt gern an die Implementierung von Tupelraum-Systemen auf Thinking Machine CM-5-Rechnern und an den Aufbau einiger der ersten Internetinformationssysteme für die NASA in den späten 80er-Jahren zurück.


Inhaltsverzeichnis

  • BEGINN
  • Der Autor
  • Inhaltsverzeichnis
  • Einführung
  • Für wen ist dieses Buch?
  • Wir wissen, was Sie gerade denken.
  • Lies mich!
  • Sie müssen Python installieren
  • Ein paar Worte zur Organisation Ihres Codes
  • Danksagungen*
  • Das Gutachterteam
  • Über den Übersetzer dieses Buchs
  • 1 Rechnerisch denken
  • Immer der Reihe nach
  • Wie Programmieren funktioniert
  • Sprechen wir überhaupt die gleiche Sprache?
  • Die Welt der Programmiersprachen
  • Code mit Python schreiben und ausführen
  • Eine kurze Geschichte von Python
  • Python auf Herz und Nieren prüfen
  • Ihre Arbeit speichern
  • Herzlichen Glückwunsch zu Ihrem ersten Python-Programm!
  • Phrasendrescher
  • Den Code in die Maschine bekommen
  • 2 Einfache Werte, Variablen und Typen
  • Einen Rechner für Hundejahre programmieren
  • Pseudocode in richtigen Code umwandeln
  • Schritt 1: Eingaben einsammeln
  • Wie die input-Funktion funktioniert
  • Variablen verwenden, um Werte zu erinnern und zu speichern
  • Benutzereingabe einer Variablen zuweisen
  • Schritt 2: Weitere Eingaben einsammeln
  • Zeit, unseren Code auszuführen
  • Etwas Code eingeben
  • Ein genauer Blick auf Variablen
  • Etwas mehr Ausdruck
  • Variablen sind VARIABEL
  • Besser leben durch Operatoren-Präzedenz
  • Rechnen mit Operatoren-Präzedenz
  • Finger von der Tastatur!
  • Step 3: Das Alter des Hundes berechnen
  • Houston, wir haben ein Problem!
  • Fehler sind menschlich gehören zum Programmieren dazu
  • Etwas mehr Debugging …
  • Welcher Python-(Daten-)Typ sind Sie?
  • Den Code reparieren
  • Houston, wir sind abgehoben.
  • Schritt 4: Benutzerfreundliche Ausgaben
  • 3 Boolesche Werte, Entscheidungen und Schleifen
  • Wollen Sie ein Spiel spielen?
  • Zuerst ein allgemeines Konzept
  • Die Wahl des Computers
  • Wie Zufallszahlen genutzt werden
  • Vorstellung des booleschen Datentyps
  • Entscheidungen treffen
  • Entscheidungen und noch mehr Entscheidungen
  • Zurück zu Stein, Schere, Papier
  • Die Wahl des Benutzers ermitteln
  • Ein Blick auf die Wahl des Benutzers
  • Den Code zum Finden eines Unentschiedens einbauen
  • Wer hat gewonnen?
  • Implementieren wir die Spiellogik
  • Mehr über boolesche Operatoren
  • Ist das dokumentiert?
  • Den Code mit Kommentaren versehen
  • Wir müssen das Spiel endlich fertigstellen!
  • Woher wissen wir, ob eine Benutzereingabe ungültig ist?
  • Den Ausdruck überprüfen und aufräumen
  • Den Benutzer immer wieder zur Eingabe auffordern
  • Dinge mehr als einmal tun
  • Wie die while-Schleife funktioniert
  • while benutzen, um den Benutzer zur Eingabe aufzufordern, bis eine gültige Auswahl getroffen wurde
  • Glückwunsch! Sie haben Ihr erstes Spiel programmiert!
  • 4 Listen und Iterationen
  • Können Sie Bubbles-R-Us helfen?
  • Mehrere Werte in Python darstellen
  • Wie Listen funktionieren
  • Wie lang ist die Liste eigentlich?
  • Auf das letzte Listenelement zugreifen
  • Python macht das sogar noch einfacher
  • Pythons negative Indizes benutzen
  • In der Zwischenzeit bei Bubbles-R-Us …
  • Wie man über eine Liste iteriert
  • Den Ausgabefehler beseitigen
  • Den Ausgabefehler wirklich beseitigen
  • Die for-Schleife – der bevorzugte Weg zum Iterieren über eine Liste
  • Die for-Schleife mit einer Zahlenfolge benutzen
  • Mehr tun mit Zahlenfolgen
  • Die Einzelteile zusammensetzen
  • Eine komplett neue Liste erstellen
  • Mit Listen geht noch mehr
  • Probefahrt für den fertigen Bericht
  • Und die Gewinner sind …
  • Probefahrt für die kosteneffektivste Seifenblasenmischung
  • 5 Funktionen und Abstraktion
  • Was stimmt denn mit dem Code nicht?
  • Einen Codeblock in eine FUNKTION umwandeln
  • Wir haben eine Funktion erstellt, aber wie können wir sie benutzen?
  • Aber wie funktioniert das wirklich?
  • Funktionen können auch Dinge ZURÜCKGEBEN
  • Funktionen mit Rückgabewerten aufrufen
  • Ein bisschen Refaktorierung zwischendurch
  • Den Code ausführen
  • Den Avatar-Code abstrahieren
  • Den Körper der get attribute-Funktion schreiben
  • get_attribute aufrufen
  • Wir sollten noch etwas mehr über Variablen sprechen …
  • Den Geltungsbereich von Variablen verstehen
  • Wenn Variablen an Funktionen übergeben werden …
  • Die drink_me-Funktion aufrufen
  • Was ist mit der Verwendung globaler Variablen in Funktionen?
  • Mehr zu Parametern: Standardwerte und Schlüsselwörter
  • Wie Standardwerte funktionieren
  • Geben Sie erforderliche Parameter immer zuerst an!
  • Argumente mit Schlüsselwörtern verwenden
  • Wie man diese Optionen einordnen sollte
  • 4, Teil 2, Sortierung und verschachtelte Iteration
  • Bubble Sort verstehen
  • Wir beginnen mit Durchgang 1:
  • Etwas Bubble Sort-Pseudocode
  • Bubble Sort in Python implementieren
  • Die Nummern der Seifenblasen­mischungen berechnen
  • 6 Text, Strings und Heuristiken
  • Willkommen zu den Datenwissenschaften
  • Wie berechnet man einen Lesbarkeitsindex?
  • Der große Plan
  • Ein bisschen Pseudocode
  • Wir brauchen etwas Text zur Analyse
  • Die Funktion erstellen
  • Als Erstes brauchen wir die Anzahl der Wörter in unserem Text
  • Die Anzahl der Sätze berechnen
  • Die count_sentences-Funktion schreiben
  • Die Anzahl der Silben zählen – oder: Heuristiken lieben lernen
  • Die Heuristik vorbereiten
  • Die Heuristik schreiben
  • Wie man Vokale zählt
  • Aufeinanderfolgende Vokale ignorieren
  • Den Code zum Ignorieren aufeinanderfolgender Vokale schreiben
  • Die Buchstaben e und y sowie Interpunktions­zeichen am Satzende entfernen
  • Slicing (und Substrings) benutzen
  • Den heuristischen Code fertigstellen
  • Die Formel für den Lesbarkeitsindex implementieren
  • Und noch mehr
  • 7 Module, Methoden, Klassen und Objekte
  • Ein schneller Rückblick auf Module
  • Die globale Variable _name_
  • analyze.py aktualisieren
  • analyze.py als Modul benutzen
  • analyze.py mit Docstrings versehen
  • Andere Python-Module erforschen
  • Moment mal. Haben Sie gerade »Schildkröten« gesagt?!
  • Erschaffen Sie Ihre eigene Schildkröte!
  • Tierversuche mit Schildkröten
  • Eine zweite Schildkröte hinzufügen
  • Was sind diese Schildkröten überhaupt?
  • Was sind Objekte?
  • Okay, und was ist eine Klasse?
  • Eine Klasse ist kein Objekt. Sie wird verwendet, um Objekte zu erzeugen.
  • Objekte und Klassen verwenden
  • Worum geht es bei den Methoden und Attributen?
  • Klassen und Objekte überall
  • Bereitmachen zum Schildkrötenrennen
  • Das Spiel planen
  • Fangen wir mit dem Programmieren an
  • Das Spiel vorbereiten
  • Den Setup-Code schreiben
  • Nicht so schnell!
  • Das Rennen beginnen
  • 8 Rekursion und Dictionaries
  • Eine andere Art, Dinge zu berechnen
  • Kommen wir jetzt zu etwas völlig anderem …
  • Schreiben wir etwas Code für beide Fälle
  • Etwas mehr Übung
  • Rekursion zum Finden von Palindromen benutzen
  • Einen rekursiven Palindrom-Detektor schreiben
  • Das Unsoziale Netzwerk
  • Das Dictionary
  • Sehen wir, wie ein Dictionary erstellt wird.
  • Schlüssel und Werte müssen keine Strings sein.
  • Natürlich können Sie die Schlüssel auch wieder entfernen.
  • Vielleicht wollen Sie aber zuerst überprüfen, ob er überhaupt existiert.
  • Kann man über Dictionaries auch iterieren?
  • Dictionaries für das Unsoziale Netzwerk einsetzen
  • Aber wie fügen wir weitere Attribute hinzu?
  • Erinnern Sie sich an das Killer-Feature unseres Unsozialen Netzwerks?
  • Den unsozialsten Benutzer finden
  • Können wir uns die Ergebnisse der Funktionsaufrufe nicht einfach merken?
  • Ein Dictionary zum Speichern der Fibonacci-Ergebnisse
  • Etwas gegen teure Berechnungen: Memoisation
  • Ein genauer Blick auf die koch-Funktion
  • Das Koch-Fraktal eingehend erforschen
  • 9 Dateien speichern und auslesen
  • Bereit für Crazy Libs?
  • Wie Crazy Libs funktionieren soll
  • Schritt 1: Text der Geschichte aus einer Datei lesen
  • Dateipfade richtig benutzen
  • Relative Pfade
  • Absolute Pfade
  • Oh, und vergessen Sie nicht, wieder aufzuräumen, wenn Sie fertig sind.
  • Dateien im Python-Code lesen
  • Jetzt hör schon auf!
  • Verwendung der readline-Methode am Dateiobjekt
  • Woher wissen wir, wann die letzte Zeile gelesen wurde?
  • Eine Crazy Lib-Schablone einlesen
  • Den Schablonentext verarbeiten
  • Den Bug mit einer neuen Stringmethode beseitigen
  • Den Bug tatsächlich beheben
  • Der eine oder andere Code hat echte Probleme
  • Mit Ausnahmen umgehen
  • Ausdrücklich mit Ausnahmen umgehen
  • Crazy Libs aktualisieren, um mit Ausnahmen umzugehen
  • Unser letzter Schritt: Das Crazy Lib speichern
  • Den Rest des Code aktualisieren
  • 10 Web-APIs benutzen
  • Erweitern Sie Ihre Reichweite mit Web-APIs
  • Die Funktionsweise von Web-APIs
  • Alle Web-APIs besitzen eine Webadresse
  • Zeit für ein schnelles Upgrade
  • Das Upgrade durchführen
  • Jetzt brauchen wir nur noch eine gute Web-API ...
  • Ein genauerer Blick auf die API
  • Web-APIs verwenden JSON für die Rückgabe der Daten
  • Sehen wir uns das requests-Modul noch einmal an
  • Die Einzelteile zusammensetzen: einen Request an Open Notify verschicken
  • JSON in Python verarbeiten
  • Das JSON-Modul zum Auslesen der ISS-Daten benutzen
  • Wir brauchen etwas mehr Grafik
  • Das screen-Objekt
  • Wir benutzen eine Schildkröte, um die ISS darzustellen
  • Schildkröten können auch wie Weltraumstationen aussehen
  • Vergessen Sie die ISS. Wo sind WIR?
  • Den ISS-Code fertigstellen
  • 11 Widgets, Events und emergentes Verhalten
  • Willkommen in der WUNDERVOLLEN WELT des KÜNSTLICHEN LEBENS
  • Eine genauerer Blick auf das Spiel des Lebens
  • Was wir bauen werden
  • Haben wir das richtige Design?
  • Das Datenmodell (Model) entwickeln
  • Das Raster im Code abbilden
  • Eine Generation des Spiels des Lebens berechnen
  • Das Schicksal aller Zellen berechnen
  • Den Model-Code fertigstellen
  • Den View erstellen
  • Das erste Widget erstellen
  • Die fehlenden Widgets hinzufügen
  • Das Layout korrigieren
  • Die Widgets auf einem Gitter anordnen.
  • Das Gitter-Layout in Code übersetzen
  • Mit dem Controller weitermachen
  • Eine Aktualisierungsfunktion einbauen
  • Bereit für eine neue Art der Programmierung?
  • Die Funktionsweise des Start/Pause-Buttons
  • Eine andere Art von Event
  • Die nötige Technologie haben wir: die after-Methode
  • Zellen direkt eingeben und bearbeiten
  • Den grid_view Event-Handler schreiben
  • Jetzt können wir ein paar Muster hinzufügen.
  • Einen Handler für das Auswahlmenü schreiben
  • Die Ladefunktion für das Muster schreiben
  • Noch weiter!
  • 12 Objektorientierte Programmierung
  • Die Dinge anders aufteilen
  • Worum geht es bei der objektorientierten Programmierung überhaupt?
  • Ihre erste Klasse planen
  • Ihre erste Klasse schreiben
  • Wie der Konstruktor funktioniert
  • Die bark-Methode schreiben
  • Die Funktionsweise von Methoden
  • Vererbung nutzen
  • Die ServiceDog-Klasse implementieren
  • Ein genauerer Blick auf abgeleitete Klassen
  • Ein ServiceDog IST EIN Dog
  • IST-Beziehungen im Code überprüfen
  • Verhalten überschreiben und erweitern
  • Noch mehr Fachjargon …
  • Objekt HAT ein anderes Objekt
  • Ein Hundehotel entwickeln
  • Das Hundehotel implementieren
  • Das Hundhotel renovieren
  • Das Hotel um ein paar Aktivitäten erweitern
  • Ich kann alles, was du auch kannst, oder: Polymorphismus
  • Es ist Zeit, den Hunden das Gassigehen beizubringen
  • Die Macht der Vererbung
  • Anhang: Was übrig bleibt
  • #1 Listen-Comprehensions
  • #2 Datum und Uhrzeit
  • #3 Reguläre Ausdrücke
  • #4 Andere Datentypen: Tupel
  • #5 Andere Datentypen: Sets
  • #6 Serverseitige Programmierung
  • #7 Lazy Evaluation
  • #8 Dekoratoren
  • #9 Higher-Order- und First Class-Funktionen
  • #10 Eine Menge Bibliotheken
  • Index

Mehr von dieser Serie

    Ähnliche Titel

      Mehr von diesem Autor