O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Programmieren lernen mit Python

Book Description

Python ist eine moderne, interpretierte, interaktive und objektorientierte Skriptsprache, vielseitig einsetzbar und sehr beliebt. Python ist leicht erlernbar und daher die ideale Sprache für den Einstieg in die Welt des Programmierens. Das Buch führt Sie Schritt für Schritt durch die Sprache, beginnend mit grundlegenden Programmierkonzepten, über Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design. Jenseits reiner Theorie enthält jedes Kapitel entsprechende Übungen, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren und festigen können.

Table of Contents

  1. Vorwort
    1. Die seltsame Geschichte dieses Buchs
    2. Typografische Konventionen
    3. Nutzung der Codebeispiele
    4. Danksagungen
    5. Liste der Beitragenden
  2. 1. Programme entwickeln
    1. Die Programmiersprache Python
    2. Was ist ein Programm?
    3. Was ist Debugging?
    4. Syntaxfehler
    5. Laufzeitfehler
    6. Semantische Fehler
    7. Experimentelles Debugging
    8. Formale und natürliche Sprachen
    9. Das erste Programm
    10. Debugging
    11. Glossar
    12. Übungen
  3. 2. Variablen, Ausdrücke und Anweisungen
    1. Werte und Typen
    2. Variablen
    3. Variablennamen und Schlüsselwörter
    4. Operatoren und Operanden
    5. Ausdrücke und Anweisungen
    6. Interaktiver Modus und Skriptmodus
    7. Rangfolge von Operatoren
    8. String-Operationen
    9. Kommentare
    10. Debugging
    11. Glossar
    12. Übungen
  4. 3. Funktionen
    1. Funktionsaufrufe
    2. Funktionen zur Typkonvertierung
    3. Mathematische Funktionen
    4. Komposition
    5. Neue Funktionen erstellen
    6. Definition und Verwendung
    7. Programmablauf
    8. Parameter und Argumente
    9. Variablen und Parameter sind lokal
    10. Stapeldiagramme
    11. Funktionen mit und ohne Rückgabewert
    12. Warum Funktionen?
    13. Import mit from
    14. Debugging
    15. Glossar
    16. Übungen
  5. 4. Fallstudie: Gestaltung von Schnittstellen
    1. TurtleWorld
    2. Einfache Wiederholung
    3. Übungen
    4. Datenkapselung
    5. Generalisierung
    6. Gestaltung von Schnittstellen
    7. Refactoring
    8. Entwicklungsplan
    9. Docstring
    10. Debugging
    11. Glossar
    12. Übungen
  6. 5. Bedingungen und Rekursion
    1. Modulus-Operator
    2. Boolesche Ausdrücke
    3. Logische Operatoren
    4. Bedingte Ausführung
    5. Alternativer Programmablauf
    6. Verkettete Bedingungen
    7. Verschachtelte Bedingungen
    8. Rekursion
    9. Stapeldiagramme für rekursive Funktionen
    10. Endlose Rekursion
    11. Tastatureingaben
    12. Debugging
    13. Glossar
    14. Übungen
  7. 6. Funktionen mit Rückgabewert
    1. Rückgabewerte
    2. Inkrementelle Entwicklung
    3. Funktionskomposition
    4. Boolesche Funktionen
    5. Mehr Rekursion
    6. Vertrauensvorschuss
    7. Noch ein Beispiel
    8. Typprüfung
    9. Debugging
    10. Glossar
    11. Übungen
  8. 7. Iteration
    1. Mehrfache Zuweisungen
    2. Variablen aktualisieren
    3. Die while-Anweisung
    4. break
    5. Quadratwurzeln
    6. Algorithmen
    7. Debugging
    8. Glossar
    9. Übungen
  9. 8. Strings
    1. Ein String ist eine Folge
    2. len
    3. Traversierung mit einer Schleife
    4. String-Teile
    5. Strings sind unveränderbar
    6. Suchen
    7. Schleifen und Zähler
    8. String-Methoden
    9. Der in-Operator
    10. String-Vergleich
    11. Debugging
    12. Glossar
    13. Übungen
  10. 9. Fallstudie: Wortspiele
    1. Wortlisten einlesen
    2. Übungen
    3. Suchen
    4. Schleifen mit Indizes
    5. Debugging
    6. Glossar
    7. Übungen
  11. 10. Listen
    1. Eine Liste ist eine Sequenz
    2. Listen können geändert werden
    3. Listen durchlaufen
    4. Operationen mit Listen
    5. Listen-Slices
    6. Methoden für Listen
    7. Map, Filter und Reduktion
    8. Elemente löschen
    9. Listen und Strings
    10. Objekte und Werte
    11. Aliasing
    12. Listen als Argument
    13. Debugging
    14. Glossar
    15. Übungen
  12. 11. Dictionaries
    1. Dictionary als Menge von Zählern
    2. Schleifen und Dictionaries
    3. Inverse Suche
    4. Dictionaries und Listen
    5. Memos
    6. Globale Variablen
    7. Long Integer
    8. Debugging
    9. Glossar
    10. Übungen
  13. 12. Tupel
    1. Tupel sind unveränderbar
    2. Tupel-Zuweisung
    3. Tupel als Rückgabewerte
    4. Argument-Tupel mit variabler Länge
    5. Listen und Tupel
    6. Dictionaries und Tupel
    7. Tupel vergleichen
    8. Sequenzen mit Sequenzen
    9. Debugging
    10. Glossar
    11. Übungen
  14. 13. Fallstudie: Wahl der richtigen Datenstruktur
    1. Häufigkeitsanalyse für Wörter
    2. Zufallszahlen
    3. Worthistogramm
    4. Die häufigsten Wörter
    5. Optionale Parameter
    6. Dictionary-Subtraktion
    7. Zufallswörter
    8. Markov-Analyse
    9. Datenstrukturen
    10. Debugging
    11. Glossar
    12. Übungen
  15. 14. Dateien
    1. Persistenz
    2. Lesen und schreiben
    3. Formatoperator
    4. Dateinamen und Pfade
    5. Ausnahmen abfangen
    6. Datenbanken
    7. Pickling
    8. Pipes
    9. Module schreiben
    10. Debugging
    11. Glossar
    12. Übungen
  16. 15. Klassen und Objekte
    1. Benutzerdefinierte Typen
    2. Attribute
    3. Rechtecke
    4. Instanzen als Rückgabewerte
    5. Objekte sind veränderbar
    6. Kopieren
    7. Debugging
    8. Glossar
    9. Übungen
  17. 16. Klassen und Funktionen
    1. Zeit
    2. Reine Funktionen
    3. Modifizierende Funktionen
    4. Prototyping kontra Planung
    5. Debugging
    6. Glossar
    7. Übungen
  18. 17. Klassen und Methoden
    1. Objektorientierte Programmierung
    2. Objekte ausgeben
    3. Noch ein Beispiel
    4. Ein komplizierteres Beispiel
    5. init-Methode
    6. Methode __str__
    7. Operator-Überladung
    8. Dynamische Bindung
    9. Polymorphismus
    10. Debugging
    11. Schnittstelle und Implementierung
    12. Glossar
    13. Übungen
  19. 18. Vererbung
    1. Karten-Objekte
    2. Klassenattribute
    3. Karten vergleichen
    4. Stapel
    5. Kartenstapel ausgeben
    6. Hinzufügen, entfernen, mischen und sortieren
    7. Vererbung
    8. Klassendiagramme
    9. Debugging
    10. Datenkapselung
    11. Glossar
    12. Übungen
  20. 19. Fallstudie: Tkinter
    1. GUI
    2. Buttons und Callbacks
    3. Canvas-Widgets
    4. Koordinatensequenzen
    5. Weitere Widgets
    6. Widgets packen
    7. Menüs und Callables
    8. Bindung
    9. Debugging
    10. Glossar
    11. Übungen
  21. A. Debugging
    1. Syntaxfehler
      1. Ich mache immer wieder Änderungen, sehe aber keinen Unterschied
    2. Laufzeitfehler
      1. Mein Programm macht absolut gar nichts
      2. Mein Programm hängt
        1. Endlosschleifen
        2. Endlose Rekursion
        3. Programmablauf
      3. Ich erhalte eine Ausnahme, wenn ich das Programm ausführe
      4. Ich habe so viele print-Anweisungen eingefügt, dass mich die Ausgaben überfordern
    3. Semantische Fehler
      1. Mein Programm funktioniert nicht
      2. Ich habe einen großen und haarigen Ausdruck, der nicht macht, was er soll
      3. Eine Funktion oder Methode liefert nicht den erwarteten Rückgabewert
      4. Ich komme wirklich nicht weiter und brauche Hilfe
      5. Nein, ich brauche wirklich Hilfe
  22. B. Algorithmenanalyse
    1. Wachstumsordnung
    2. Analyse grundlegender Python-Operationen
    3. Analyse von Suchalgorithmen
    4. Hashtabellen
  23. C. Lumpy
    1. Zustandsdiagramm
    2. Stapeldiagramm
    3. Objektdiagramme
    4. Funktions- und Klassenobjekte
    5. Klassendiagramme
  24. Index
  25. Kolophon
  26. Copyright