Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title
Impressum
Inhalt
Der Autor
Die Fachgutachterin
Danksagung
Einleitung
Für wen ist dieses Buch gedacht?
Programmierstil
Was ist Programmierung?
Was ist Python?
Programmierer müssen nicht viel Mathe können
Programmierung ist kreativ
Der Aufbau dieses Buchs
Python herunterladen und installieren
IDLE starten
Die interaktive Shell
Hilfe finden
Geschickte Fragen stellen
Zusammenfassung
Teil 1: Grundlagen der Python-Programmierung
Kapitel 1: Grundlagen von Python
Ausdrücke in die interaktive Shell eingeben
Die Datentypen für ganze Zahlen, Fließkommazahlen und Strings
Stringverkettung und -wiederholung
Werte in Variablen speichern
Zuweisungsanweisungen
Variablennamen
Ihr erstes Programm
Analyse des Programms
Kommentare
Die Funktion print()
Die Funktion input()
Den Benutzernamen ausgeben
Die Funktion len()
Die Funktionen str(), int() und float()
Zusammenfassung
Wiederholungsfragen
Kapitel 2: Flusssteuerung
Boolesche Werte
Vergleichsoperatoren
Boolesche Operatoren
Binäre boolesche Operatoren
Der Operator not
Kombinierte Verwendung von booleschen und Vergleichsoperatoren
Elemente zur Flusssteuerung
Bedingungen
Codeblöcke
Programmausführung
Flusssteuerungsanweisungen
If-Anweisungen
Else-Anweisungen
Elif-Anweisungen
While-Schleifen
Break-Anweisungen
Continue-Anweisungen
For-Schleifen und die Funktion range()
Module importieren
From-import-Anweisungen
Programme mit sys.exit() vorzeitig beenden
Zusammenfassung
Wiederholungsfragen
Kapitel 3: Funktionen
Def-Anweisungen mit Parametern
Rückgabewerte und die Anweisung return
Der Wert None
Schlüsselwortargumente und print()
Lokaler und globaler Gültigkeitsbereich
Lokale Variablen können im globalen Gültigkeitsbereich nicht verwendet werden
Lokale Gültigkeitsbereiche können keine Variablen aus anderen lokalen Gültigkeitsbereichen verwenden
Globale Variablen können von einem lokalen Gültigkeitsbereich aus gelesen werden
Lokale und globale Variablen mit demselben Namen
Die Anweisung global
Ausnahmebehandlung
Ein kurzes Programm: Zahlen raten
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Die Collatz-Folge
Eingabevalidierung
Kapitel 4: Listen
Der Datentyp für Listen
Einzelne Elemente aus einer Liste mithilfe des Index abrufen
Negative Indizes
Teillisten mit Slices abrufen
Die Länge einer Liste mit len() abrufen
Werte in einer Liste anhand des Index ändern
Listenverkettung und -wiederholung
Elemente mit del aus einer Liste entfernen
Listen verwenden
For-Loops für Listen
Die Operatoren in und not in
Der Trick mit der Mehrfachzuweisung
Erweiterte Zuweisungsoperatoren
Methoden
Elemente in einer Liste mit der Methode index() finden
Elemente mit den Methoden append() und insert() zu Listen hinzufügen
Elemente mit remove() aus Listen entfernen
Elemente in einer Liste mit sort() sortieren
Beispielprogramm: Magic 8 Ball unter Verwendung einer Liste
Listenähnliche Typen: Strings und Tupel
Veränderbare und unveränderbare Datentypen
Der Datentyp für Tupel
Typen mit den Funktionen list() und tuple() umwandeln
Verweise
Verweise übergeben
Die Funktionen copy() und deepcopy() des Moduls copy
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Kommacode
Zeichenbildraster
Kapitel 5: Dictionarys und Datenstrukturen
Der Datentyp für Dictionarys
Dictionarys und Listen im Vergleich
Die Methoden keys(), values() und items()
Das Vorhandensein eines Schlüssels oder Werts im Dictionary ermitteln
Die Methode get()
Die Methode setdefault()
Saubere Ausgabe
Datenstrukturen zur Modellierung realer Objekte
Ein Tic-Tac-Toe-Brett
Verschachtelte Dictionarys und Listen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Inventar für ein Fantasyspiel
Eine Funktion zum Hinzufügen von Listeninhalten zum Inventar-Dictionary
Kapitel 6: Stringbearbeitung
Umgang mit Strings
Stringliterale
Strings indizieren und Slices entnehmen
Die Operatoren in und not in für Strings
Nützliche Stringmethoden
Die Stringmethoden upper(), lower(), isupper() und islower()
Die isX-Stringmethoden
Die Stringmethoden startswith() und endswith()
Die Methoden join() und split()
Text mit rjust(), ljust() und center() ausrichten
Weißraum mit strip(), rstrip() und lstrip() entfernen
Strings mit dem Modul pyperclip kopieren und einfügen
Projekt: Passwortsafe
Schritt 1: Programmdesign und Datenstrukturen
Schritt 2: Befehlszeilenargumente verarbeiten
Schritt 3: Das richtige Passwort kopieren
Projekt: Aufzählungspunkte zu einem Wiki-Markup hinzufügen
Schritt 1: Text von und zur Zwischenablage übertragen
Schritt 2: Textzeilen trennen und Sternchen hinzufügen
Schritt 3: Die veränderten Zeilen zusammenfügen
Zusammenfassung
Wiederholungsfragen
Übungsprojekt
Tabellenausgabe
Teil 2: Aufgaben automatisieren
Kapitel 7: Mustervergleich mit regulären Ausdrücken
Textmuster ohne reguläre Ausdrücke finden
Textmuster mithilfe regulärer Ausdrücke finden
Regex-Objekte erstellen
Vergleiche mit einem Regex-Objekt
Zusammenfassung: Mustervergleich mit regulären Ausdrücken
Weitere Möglichkeiten für den Mustervergleich mithilfe regulärer Ausdrücke
Gruppierung durch Klammern
Mithilfe der Pipe nach Übereinstimmungen mit mehreren Gruppen suchen
Optionale Übereinstimmung mit dem Fragezeichen
Mit dem Sternchen nach null oder mehr Übereinstimmungen suchen
Mit dem Pluszeichen nach einer oder mehr Übereinstimmungen suchen
Mit geschweiften Klammern nach einer genauen Zahl von Wiederholungen suchen
Gieriger und nicht gieriger Mustervergleich
Die Methode findall()
Zeichenklassen
Eigene Zeichenklassen bilden
Zirkumflex und Dollarzeichen
Das Jokerzeichen
Beliebige Übereinstimmungen mit Punkt-Stern finden
Zeilenumbrüche mit dem Punktsymbol finden
Übersicht über Regex-Symbole
Übereinstimmungen ohne Berücksichtigung der Groß- und Kleinschreibung
Strings mit der Methode sub() ersetzen
Umgang mit komplizierten regulären Ausdrücken
Die Variablen re.IGNORECASE, re.DOTALL und re.VERBOSE kombinieren
Projekt: Extraktionsprogramm für Telefonnummern und E-Mail-Adressen
Schritt 1: Einen regulären Ausdruck für Telefonnummern erstellen
Schritt 2: Einen regulären Ausdruck für E-Mail-Adressen erstellen
Schritt 3: Alle Überstimmungen im Inhalt der Zwischenablage finden
Schritt 4: Die gefundenen Übereinstimmungen zu einem String kombinieren
Das Programm ausführen
Ideen für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Passwortstärke ermitteln
Regex-Version von strip()
Kapitel 8: Dateien lesen und schreiben
Dateien und Dateipfade
Backslash unter Windows und Schrägstrich unter OS X und Linux
Das aktuelle Arbeitsverzeichnis
Absolute und relative Pfade
Neue Ordner mit os.makedirs() erstellen
Das Modul os.path
Absolute und relative Pfade verwenden
Dateigrößen und Ordnerinhalte ermitteln
Die Gültigkeit von Pfaden prüfen
Dateien lesen und schreiben
Dateien mit der Funktion open() öffnen
Die Inhalte einer Datei lesen
Dateien schreiben
Variablen mit dem Modul shelve speichern
Variablen mit der Funktion pprint.pformat() speichern
Projekt: Zufallsgenerator für Tests
Schritt 1: Die Daten für den Test in einem Dictionary speichern
Schritt 2: Die Fragebogendatei erstellen und die Fragen mischen
Schritt 3: Die Auswahl der möglichen Antworten zusammenstellen
Schritt 4: Den Inhalt der Dateien für die Frage- und Lösungsbogen schreiben
Projekt: Mehrfach-Zwischenablage
Schritt 1: Kommentare und Vorbereitungen für die Shelf-Daten
Schritt 2: Den Inhalt der Zwischenablage unter einem Schlüsselwort speichern
Schritt 3: Schlüsselwörter auflisten und Inhalte laden
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Erweiterte Mehrfach-Zwischenablage
Lückentextspiel
Regex-Suche
Kapitel 9: Dateien verwalten
Das Modul shutil
Dateien und Ordner kopieren
Dateien und Ordner verschieben und umbenennen
Dateien und Ordner unwiederbringlich löschen
Sicheres Löschen mit dem Modul send2trash
Einen Verzeichnisbaum durchlaufen
Dateien mit der Methode zipfile komprimieren
ZIP-Dateien lesen
ZIP-Dateien entpacken
ZIP-Dateien erstellen und Inhalte hinzufügen
Projekt: Amerikanische Datumsangaben in europäische ändern
Schritt 1: Einen regulären Ausdruck für amerikanische Datumsangaben definieren
Schritt 2: Die einzelnen Teile der Datumsangabe in den Dateinamen ermitteln
Schritt 3: Die neuen Dateinamen zusammenstellen und die Dateien umbenennen
Vorschläge für ähnliche Programme
Projekt: Einen Ordner in einer ZIP-Datei sichern
Schritt 1: Die Namen der ZIP-Dateien bestimmen
Schritt 2: Die neue ZIP-Datei erstellen
Schritt 3: Den Verzeichnisbaum durchlaufen und Inhalte zur ZIP-Datei hinzufügen
Vorschläge für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Selektives Kopieren
Nicht mehr benötigte Dateien löschen
Lücken entfernen
Kapitel 10: Debugging
Ausnahmen auslösen
Traceback als String abrufen
Zusicherungen (Assertions)
Zusicherungen in einem Ampelsimulator
Zusicherungen deaktivieren
Protokollierung
Das Modul logging verwenden
Kein Debugging mit print()
Protokolliergrade
Die Protokollierung deaktivieren
Protokollierung in eine Datei
Der Debugger von IDLE
Go
Step
Over
Out
Quit
Debugging eines Additionsprogramms
Haltepunkte
Zusammenfassung
Wiederholungsfragen
Übungsprojekt
Münzwurfprogramm
Kapitel 11: Web Scraping
Projekt: mapIt.py mit dem Modul webbrowser
Schritt 1: Den URL herausfinden
Schritt 2: Befehlszeilenargumente verarbeiten
Schritt 3: Den Inhalt der Zwischenablage verarbeiten und den Browser starten
Vorschläge für ähnliche Programme
Dateien mithilfe des Moduls requests aus dem Web herunterladen
Eine Webseite mit der Funktion requests.get() herunterladen
Nach Fehlern suchen
Heruntergeladene Dateien auf der Festplatte speichern
HTML
Quellen zu HTML
Ein kleiner Auffrischungskurs
Den HTML-Quellcode einer Webseite einsehen
Die Entwicklertools des Browsers öffnen
HTML-Elemente mithilfe der Entwicklertools finden
HTML mit dem Modul Beautiful Soup durchsuchen
Ein BeautifulSoup-Objekt aus dem HTML-Text erstellen
Elemente mit der Methode select() finden
Daten aus den Attributen eines Elements abrufen
Projekt: Google-Suche »Auf gut Glück«
Schritt 1: Die Befehlszeilenargumente abrufen und die Suchergebnisseite anfordern
Schritt 2: Alle Ergebnisse finden
Schritt 3: Browsertabs für jedes Suchergebnis öffnen
Vorschläge für ähnliche Programme
Projekt: Alle XKCD-Comics herunterladen
Schritt 1: Den Aufbau des Programms festlegen
Schritt 2: Die Webseite herunterladen
Schritt 3: Das Bild des Comics finden und herunterladen
Schritt 4: Das Bild speichern und den vorherigen Comic suchen
Vorschläge für ähnliche Programme
Den Browser mit dem Modul Selenium steuern
Einen seleniumgesteuerten Browser starten
Elemente auf der Seite finden
Auf Links klicken
Formulare ausfüllen und absenden
Die Betätigung von Sondertasten simulieren
Auf Browserschaltflächen klicken
Weitere Informationen über Selenium
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
E-Mail-Programm für die Befehlszeile
Download-Programm für Fotowebsites
2048
Linküberprüfung
Kapitel 12: Arbeiten mit Excel-Arbeitsblättern
Excel-Dokumente
Das Modul openpyxl installieren
Excel-Dokumente lesen
Excel-Dokumente mit OpenPyXL öffnen
Arbeitsblätter aus der Arbeitsmappe abrufen
Zellen in Arbeitsblättern ansprechen
Umrechnen zwischen Kennbuchstaben und Nummern
Zeilen und Spalten eines Arbeitsblatts abrufen
Arbeitsmappen, Arbeitsblätter und Zellen
Projekt: Daten in einer Arbeitsmappe lesen
Schritt 1: Die Daten der Arbeitsmappe lesen
Schritt 2: Die Datenstruktur füllen
Schritt 3: Die Ergebnisse in eine Datei schreiben
Vorschläge für ähnliche Programme
Excel-Dokumente schreiben
Excel-Dokumente erstellen und speichern
Arbeitsblätter erstellen und entfernen
Werte in Zellen schreiben
Projekt: Ein Arbeitsblatt aktualisieren
Schritt 1: Eine Datenstruktur mit den neuen Informationen einrichten
Schritt 2: Alle Zeilen prüfen und die falschen Preise korrigieren
Vorschläge für ähnliche Programme
Die Schrift in den Zellen gestalten
Font-Objekte
Formeln
Das Erscheinungsbild von Zeilen und Spalten festlegen
Zeilenhöhe und Spaltenbreite festlegen
Zellen verbinden und aufteilen
Bereiche fixieren
Diagramme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Multiplikationstabellen erstellen
Leere Zeilen einfügen
Zellen transponieren
Textdateien in Arbeitsblätter umwandeln
Arbeitsblätter in Textdateien umwandeln
Kapitel 13: Arbeiten mit PDF- und Word-Dokumenten
PDF-Dokumente
Text aus PDFs entnehmen
PDFs entschlüsseln
PDFs erstellen
Projekt: Ausgewählte Seiten aus mehreren PDFs kombinieren
Schritt 1: Alle PDF-Dateien finden
Schritt 2: Die einzelnen PDFs öffnen
Schritt 3: Die einzelnen Seiten hinzufügen
Schritt 4: Die Ergebnisse speichern
Vorschläge für ähnliche Programme
Word-Dokumente
Word-Dokumente lesen
Den kompletten Text einer .docx-Datei abrufen
Absätze und Run-Objekte formatieren
Word-Dokumente mit anderen als den Standardformaten erstellen
Run-Attribute
Word-Dokumente schreiben
Überschriften hinzufügen
Zeilenwechsel und Seitenumbrüche hinzufügen
Bilder einfügen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
PDF-Paranoia
Personalisierte Einladungen als Word-Dokument
Brute-Force-Passwortknacker für PDFs
Kapitel 14: Arbeiten mit CSV-Dateien und JSON-Daten
Das Modul csv
Reader-Objekte
Daten in einer for-Schleife aus Reader-Objekten lesen
Writer-Objekte
Die Schlüsselwortargumente delimiter und lineterminator
Projekt: Kopfzeilen aus CSV-Dateien entfernen
Schritt 1: Alle CSV-Dateien durchlaufen
Schritt 2: Die CSV-Datei lesen
Schritt 3: Die CSV-Datei ohne die erste Zeile schreiben
Vorschläge für ähnliche Programme
JSON und APIs
Das Modul json
JSON-Daten mit der Funktion loads() laden
JSON-Daten mit der Funktion dumps() schreiben
Projekt: Die aktuellen Wetterdaten abrufen
Schritt 1: Den Standort aus dem Befehlszeilenargument entnehmen
Schritt 2: Die JSON-Daten herunterladen
Schritt 3: JSON-Daten laden und die Wettervorhersage ausgeben
Vorschläge für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekt
Excel-in-CSV-Konverter
Kapitel 15: Zeit einhalten, Aufgaben zeitlich planen und Programme starten
Das Modul time
Die Funktion time.time()
Die Funktion time.sleep()
Zahlen runden
Projekt: Superstoppuhr
Schritt 1: Das Programm auf die Zeitmessung vorbereiten
Schritt 2: Intervalldauern messen und anzeigen
Vorschläge für ähnliche Programme
Das Modul datetime
Der Datentyp timedelta
Anhalten bis zu einem bestimmten Zeitpunkt
datetime-Objekte in Strings umwandeln
Strings in datetime-Objekte umwandeln
Die Zeitfunktionen von Python im Überblick
Multithreading
Argumente an die Zielfunktion eines Threads übergeben
Probleme der Nebenläufigkeit
Projekt: Multithread-Version des XKCD-Download-Programms
Schritt 1: Eine Funktion für den Download verwenden
Schritt 2: Threads erstellen und starten
Schritt 3: Auf das Ende aller Threads warten
Andere Programme von Python aus starten
Befehlszeilenargumente an Popen() übergeben
Taskplaner, launchd und cron
Websites mit Python aufrufen
Andere Python-Skripte ausführen
Dateien in ihren Standardanwendungen öffnen
Projekt: Ein einfaches Countdown-Programm
Schritt 1: Der Countdown
Schritt 2: Die Klangdatei abspielen
Vorschläge für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Elegantere Stoppuhr
Webcomic-Download-Programm mit Zeitplanung
Kapitel 16: E-Mails und Textnachrichten senden
SMTP
E-Mails senden
Verbindung mit einem SMTP-Server aufnehmen
Die »Hallo«-Nachricht an den SMTP-Server senden
Die TLS-Verschlüsselung einleiten
Am SMTP-Server anmelden
Eine E-Mail senden
Die Verbindung zum SMTP-Server trennen
IMAP
E-Mails mit IMAP abrufen und löschen
Verbindung mit einem IMAP-Server aufnehmen
Am IMAP-Server anmelden
Nach E-Mails suchen
E-Mails abrufen und als gelesen markieren
E-Mail-Adressen aus einer Rohnachricht gewinnen
Den Rumpf aus einer Rohnachricht gewinnen
E-Mails löschen
Die Verbindung zum IMAP-Server trennen
Projekt: E-Mails über ausstehende Mitgliedsbeiträge senden
Schritt 1: Die Excel-Datei öffnen
Schritt 2: Alle säumigen Mitglieder finden
Schritt 3: Personalisierte E-Mail-Mahnungen senden
Textnachrichten mit Twilio senden
Ein Twilio-Konto einrichten
Textnachrichten senden
Projekt: Das Modul »Just Text Me«
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Zufällige Zuweisung von Arbeiten
Regenschirmhinweis
Automatischer Entregistrierer
Den Computer per E-Mail steuern
Kapitel 17: Bildbearbeitung
Grundlagen zur Bilddarstellung auf Computern
Farben und RGBA-Werte
Koordinaten und Rechtecktupel
Bildbearbeitung mit Pillow
Arbeiten mit dem Datentyp Image
Bilder beschneiden
Bilder kopieren und in andere Bilder einfügen
Die Bildgröße ändern
Bilder drehen und spiegeln
Einzelne Pixel ändern
Projekt: Ein Logo hinzufügen
Schritt 1: Das Logobild öffnen
Schritt 2: Alle Dateien durchlaufen und die Bilder öffnen
Schritt 3: Die Bildgröße ändern
Schritt 4: Logo hinzufügen und Änderungen speichern
Vorschläge für ähnliche Programme
Bilder zeichnen
Formen zeichnen
Text zeichnen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Das Logoprogramm erweitern und verbessern
Fotoordner auf der Festplatte finden
Personalisierte Tischkarten
Kapitel 18: Tastatur und Maus mit GUI-Automatisierung steuern
Das Modul PyAutoGUI installieren
Kleine Probleme beheben
Beenden durch Abmelden
Pausen und Sicherungen
Den Mauszeiger steuern
Den Mauszeiger bewegen
Die Position des Mauszeigers abrufen
Projekt: Wo ist mein Mauszeiger?
Schritt 1: Das Modul importieren
Schritt 2: Den Beendigungscode und die Endlosschleife einrichten
Schritt 3: Die Koordinaten des Mauszeigers abrufen und anzeigen
Mausinteraktionen
Klicken
Ziehen
Scrollen
Auf dem Bildschirm arbeiten
Einen Screenshot aufnehmen
Einen Screenshot analysieren
Projekt: Das Programm mouseNow erweitern
Bilderkennung
Die Tastatur steuern
Strings von der Tastatur senden
Tastennamen
Tasten drücken und loslassen
Tastenkombinationen
Übersicht über die Funktionen von PyAutoGUI
Projekt: Formulare automatisch ausfüllen
Schritt 1: Den Ablauf herausfinden
Schritt 2: Die Koordinaten ermitteln
Schritt 3: Daten eingeben
Schritt 4: Auswahllisten und Optionsschalter
Schritt 5: Das Formular absenden und warten
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Beschäftigung vortäuschen
Instant-Messenger-Bot
Tutorial für einen Spiele-Bot
Anhang A: Drittanbietermodule installieren
Pip
Drittanbietermodule installieren
Anhang B: Programme ausführen
Die Shebang-Zeile
Python-Programme unter Windows ausführen
Python-Programme unter OS X und Linux ausführen
Python-Programme mit ausgeschalteten Zusicherungen ausführen
Anhang C: Antworten auf die Wiederholungsfragen
Kapitel 1
Kapitel 2
Kapitel 3
Kapitel 4
Kapitel 5
Kapitel 6
Kapitel 7
Kapitel 8
Kapitel 9
Kapitel 10
Kapitel 11
Kapitel 12
Kapitel 13
Kapitel 14
Kapitel 15
Kapitel 16
Kapitel 17
Kapitel 18
Stichwortverzeichnis
Fußnoten
Kapitel 7: Mustervergleich mit regulären Ausdrücken
Kapitel 11: Web Scraping
← Prev
Back
Next →
← Prev
Back
Next →