29,99 €
Python entdecken – Das Abenteuer beginnt hier!
Aus dem Dschungel der Programmiersprachen sticht Python durch seine elegante und schlichte Syntax hervor. Lernen Sie sie in einem Crashkurs kennen und erfahren Sie, wie man Programme mit Funktionen, Objekten und Modulen strukturiert. Es erwarten Sie jede Menge Tipps und Tricks zur Datenverarbeitung, Ablaufsteuerung und Fehlerbehandlung. Sie erfahren, wie man Programme testet, entwickeln ein Nachrichtenprotokoll fürs Netzwerk und probieren die visuelle Datenanalyse aus. Erstellen Sie Programme mit GUI und durchforsten Sie das Netz nach interessanten Daten. Starten Sie jetzt ins Abenteuer!
Sie erfahren
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 966
Veröffentlichungsjahr: 2025
Abdeckung
Einleitung
Teil I: Willkommen in Python-City
Kapitel 1: Python – eine Hochglanzbroschüre
Was Python so interessant macht
Dunkle Flecken – was an Python manchmal nicht so schön ist
Infrastruktur und Dienstleistungen
Haushalt und Wirtschaft
Politische Entscheidungsprozesse
Philosophie
Willkommen
Kapitel 2: Der Einzug in die neue Wohnung
Was wird installiert?
Windows
macOS
Linux
Einer für alle
Kapitel 3: Die Nachbarschaft kennenlernen
Die Kommandozeile starten
Auf der Kommandozeile
Wo bin ich?
Befehle für die Kommandozeile
Code ausprobieren
Die Wahl des Editors
Programme ausführen
Kapitel 4: Exposition auf dem Stadtfest – ein erster Blick in den Code
Ausführung
Vogelperspektive
Ein Docstring
Eine Zahl ausdenken
Eine erste Runde drehen
Raten
Hast du einen Tipp?
Weiter geht's!
Kapitel 5: Syntax – die lokale Mundart
Verschiedene Ausdrucksformen
Zeilen
Schlüsselwörter, Anweisungen und Ausdrücke
Zusammengesetzte Anweisungen
Einrückung
Variablen
Teil II: Alles unter Kontrolle
Kapitel 6: Mit Wenn und Aber – Bedingungen stellen
Verzweigungen im Programmablauf
Musterabgleiche
Kapitel 7: Anweisungen wiederholen mit Schleifen
Wiederholungen mit
while
Kapitel 8: Der eingebaute Taschenrechner – ein bisschen Mathe
Zahlen
Exkurs: Zahlensysteme
Große Zahlen
Kommazahlen
Festkommazahlen
Brüche
Rechnen
Operatorrangfolge
Funktionen für mathematische Probleme
Kapitel 9: Wahrheit oder Pflicht – logische Ausdrücke formulieren
Wahrheitswerte
Truthy-Falsy
Vergleichsoperatoren
Verneinung
Logische Operatoren
Logische Gesetze
Kapitel 10: Verpackungstechnik – eingebaute Container-Datentypen
Listen
Tupel
Dictionarys
Sets
Weitere Datentypen
Kapitel 11: Comprehensions – selbstverständliche Listen
List-Comprehensions
Set-Comprehensions
Dict-Comprehensions
Generatoren statt Tupel-Comprehensions
Beispiel: Ein Balkendiagramm
Teil III: Buchstabensuppe
Kapitel 12: Strings – Python als Schreibmaschine
Auf einen Blick
Syntax
Texte einlesen
Texte ausgeben
Steuerzeichen
str - Objekte in Strings konvertieren
Variablen im Text formatieren
Wichtige Methoden
Kapitel 13: Mit regulären Ausdrücken Buchstaben aus der Suppe fischen
Textmuster beschreiben
Gebräuchliche Zeichenklassen
Gebräuchliche Methoden
Beispiel: Nach Vereinbarung
Reguläre Ausdrücke in der Praxis
Fallstrick: Gierige Ausdrücke
Nützliche Rezepte
Kapitel 14: Surfen im Dateisystem
Die Qual der Wahl ...
Das aktuelle Verzeichnis herausfinden
Die aktuelle Programmdatei finden
Verzeichnisse normalisieren
Pfade verbinden und lösen
Verzeichnis oder Datei?
Dateien in einem Verzeichnis auflisten
Dateien verschieben und kopieren
Kapitel 15: Für Ihre Unterlagen – Dateien lesen und schreiben
Textdateien
Binärdateien
Kapitel 16: Bl\xc3\xb6des Encoding
Am Anfang war das ASCII
Codepages
Mit Unicode gegen den Zeichensalat
UTF-8
Unicode-Support in Python
Wie encode ich richtig?
Teil IV: Objekte und Funktionen
Kapitel 17: Wie Funktionen funktionieren
Built-in Functions
Eigene Funktionen
Funktionen aufrufen
Namensräume
Parameter
Funktionale Programmierung
Dekoratoren
Kapitel 18: Die Welt verstehen mit Objekten
Objektorientierte Programmierung
Eine Klasse für sich
Vererbung
Kapitel 19: Exceptions – ausnahmsweise keine Katastrophe
Kapitel 20: Daten ohne Ende – Iteratoren und Generatoren
Das Iterator-Protokoll
Generatoren
Generator-Ausdrücke
Eifrige und verzögerte Auswertung
Generator-Funktionen
Generator-Objekte
Kapitel 21: Code strukturieren mit Modulen und Paketen
Module und Pakete
Die Standardbibliothek
Pakete – Code von anderen
Module und Pakete aus eigener Züchtung
Teil V: Weniger kaputte Software
Kapitel 22: Stilfrage – was lesbaren Code ausmacht
Ein Befehl pro Zeile
Zeilenlänge unter 80 Zeichen
Hören Sie auf lange Zeilen!
Imports gehören nach oben
Leerzeichen vereinzeln
Schleppkommata zum Zeilenschubsen
Unwirkliche Vergleiche mit Booleans
Kapitel 23: Schleifen, trimmen, jäten
Formatierer – den Code geraderücken
Linting – die Fusselbürste für Ihren Code
Sicherheitsprobleme vermeiden mit Bandit
Kapitel 24: Testen, Testen, Testen
Was ist ein Test?
Intuitives Testen – jeder ist ein Tester
doctest – Tests als Dokumentation
Testgetriebene Entwicklung
unittest – wenn es mal komplexer wird
Fortgeschrittene Themen
Kapitel 25: Typing – dem Interpreter Ratschläge geben
Typ-Prüfung für Variablen
... für Sammlungen
... für Funktionen
... für generische Funktionen
... für generische Listen
... für bestimmte Protokolle
... für Datenklassen
Teil VI: Wartezeiten vermeiden
Kapitel 26: Arbeitsteilung – wie ein Computer zwei Dinge gleichzeitig erledigt
Multitasking – geteilte Aufmerksamkeit
Parallelisierung – geteiltes Leid
Zusammenfassung
Kapitel 27: Threads – nicht den Faden verlieren
Der rote Faden
Wofür Threads gut sind
Wofür Threads nicht gut sind
Threads einfädeln
Locks – einer nach dem anderen
Teuflische Hintergrund-Threads
Kapitel 28: Multiprocessing – Arbeit auf mehrere Prozesse verteilen
Nebenläufigkeit – ein Experiment
Aufgaben im Pool ausführen
Kapitel 29: Async – wenn Sie nicht auf IO warten möchten
Teil VII: Netzwerkprogrammierung
Kapitel 30: Wie Netzwerke aufgebaut sind
Wie werden Daten übertragen?
Protokolle – Regeln zur Verständigung
Ein vereinfachtes Schichtenmodell
Gebräuchliche Protokolle
Die Transportschicht unter der Lupe
Header-Daten
Die Port-Nummer
IP-Adressen
Die eigene IP-Adresse herausfinden
Kapitel 31: UDP – wenn's schnell gehen soll
Katz und Maus – Server und Client
Vorbereitung
Server – alles für die Katz
Client – hier kommt die Maus
Die Maus auf die Katze loslassen
»Richtige« IP-Adressen
Kapitel 32: TCP – wenn es ankommen muss
Verbindungsaufbau
Datenaustausch
Beispiel: Ein Briefkasten für genau eine Postkarte
Teil VIII: Python im World Wide Web
Kapitel 33: Wie das World Wide Web aufgebaut ist
Hypertext – verknüpfte Texte
Das WWW
Die Einzelteile im Überblick
Die Anatomie einer Webseite
Seiten mit dem eingebauten Webserver ausliefern
Webanwendungen – mehr als nur eine Seite
Das Hypertext-Transfer-Protokoll
Kapitel 34: Im Web surfen
Hausmittelchen: Webseiten öffnen mit der
urllib
Requests: HTTP für Menschen
Im Essen stochern mit Beautiful Soup
Scrapy – Daten im Spinnennetz
Kapitel 35: Profi-Webseiten mit Django
Was ist Django?
Eine Vereinsseite
Daten modellieren
Teil IX: Der Python im Daten-Dschungel
Kapitel 36: Interaktive Notebooks
Projekt Jupyter
Die Notebook-Umgebung installieren
Erste Schritte im Notebook
Tastenkürzel – Finger weg von der Maus
Code und Dokumentation
Magische Zellen
Hilfe, ich habe mich verlaufen!
Interaktive Zellen
Kapitel 37: Daten jonglieren mit Pandas
Datensätze laden
Zeilen ausgeben
Spalten anzeigen
Series-Objekte: Schön der Reihe nach
Deskriptive Statistiken generieren
Zeilen aus Series und DataFrames abfragen
Interaktiv filtern
Daten gruppieren
Fehlende Daten entfernen
Resampling – Zeitreihen untersuchen
Kapitel 38: Linien, Balken, Torten – Daten visualisieren mit Matplotlib
Matplotlib – wie die Axes im Walde
Interaktive Plots
Eine kleine Diagramm-Galerie
Ausblick: Schnellere und schönere Diagramme
Teil X: GUI-Programmierung
Kapitel 39: Ansichtssache – Programme mit GUI
Alternativen – was gibt es sonst so?
Vorteile
Nachteile
Herausforderungen
Kapitel 40: GUIs mit
tkinter
Sprechen Sie GUI?
Der Entwurf einer GUI-Anwendung
Umsetzung
Abschließende Feinarbeiten – der letzte Schliff
Teil XI: Der Top-Ten-Teil
Kapitel 41: Dos and Don'ts
Zehn Dinge, die Sie tun sollten
Zehn Dinge, die Sie unterlassen sollten
Kapitel 42: Zehn elegante Einzeiler
Zwei Variablen vertauschen
Negativ Runden
Aus einer Liste einen String machen
Eine verschachtelte Liste plätten
Doppelte Elemente entfernen
Eine Liste paarweise durchlaufen
Vier Items gleichzeitig iterieren
Zwei Listen zu einem Dictionary kombinieren
Eine Matrix transponieren
Eine geheime Nachricht dekodieren
Stichwortverzeichnis
Anzeigenseite
Kontakt zu Dummies
Endbenutzer-Lizenzvereinbarung
Kapitel 2
Abbildung 2.1: Die Downloads sind auf der Python-Seite prominent platziert.
Abbildung 2.2: In diesem Bildschirm wählen Sie ein paar optionale Features aus.
Abbildung 2.3: Erweiterte Optionen
Abbildung 2.4: Wählen Sie alle Pakete aus!
Kapitel 3
Abbildung 3.1: Eine Sitzung im Windows-Terminal
Abbildung 3.2: Eine Terminal-Sitzung unter Linux
Kapitel 4
Abbildung 4.1: Ein schlichtes Python-Programm aus der Vogelperspektive.
Abbildung 4.2: Die Funktion
guess
liest eine Zahl von der Tastatur ein.
Kapitel 5
Abbildung 5.1: Anweisung (1) und Ausdruck (2) sind ein Team.
Abbildung 5.2: Eine Zuweisung – so entsteht eine Variable.
Kapitel 8
Abbildung 8.1: Kommt ein Informatiker in die Kneipe und bestellt sieben Bier.
Kapitel 10
Abbildung 10.1: Listen speichern Werte und können auch nach dem Erstellen noch verän...
Abbildung 10.2: Nach dem Entfernen eines Wertes rücken die verbliebenen Werte auf.
Abbildung 10.3: Mit einem negativen Index können Sie die Werte der Liste rückwärts a...
Abbildung 10.4: Mithilfe der Subskript-Notation können Sie Auszüge in neue Listen ko...
Abbildung 10.5: Sie können Elemente überspringen und sogar rückwärts springen.
Abbildung 10.6: Im Gegensatz zu Listen können Tupel nach dem Erstellen nicht mehr ve...
Abbildung 10.7: Dictionarys sind als Streuwertabellen implementiert.
Abbildung 10.8: Wenn Sie eine Liste in ein Set konvertieren, verlieren Sie Dubletten...
Abbildung 10.9: Eine grafische Darstellung von Teilmengen
Abbildung 10.10: Die Schnittmenge enthält alle Elemente, die sowohl in A als auch in ...
Abbildung 10.11: Werden zwei Mengen verheiratet, so eröffnen sie ein Gemein...
Abbildung 10.12: Nach der Subtraktion verbleibt eine Differenzmenge.
Abbildung 10.13: Symmetrische Differenz: Beide, aber ohne die Gemeinsamkeiten
Abbildung 10.14: Die Mengenoperationen auf einem Blick
Kapitel 11
Abbildung 11.1: Die Bestandteile einer List-Comprehension
Kapitel 12
Abbildung 12.1: Steuerzeichen erinnern an die Funktionsweise einer Schreibmaschine.
Kapitel 13
Abbildung 13.1: Ein regulärer Ausdruck und seine Treffer.
Abbildung 13.2: Zustandsdiagramm.
Abbildung 13.3: Zwei Zustandsdiagramme für reguläre Ausdrücke zum naiven Finden eine...
Kapitel 15
Abbildung 15.1: Mit
read
und
seek
können Sie in Dateien herumspringen;
tell
hilft, f...
Abbildung 15.2: Python macht automatisch ein
flush()
, wenn Sie
close()
machen. Zuhau...
Abbildung 15.3: Beim zeilenweisen Lesen wird der Zeiger nach vorne verschoben ...
Abbildung 15.4: ... und muss zum Schreiben an den Anfang zurückgesetzt werden. Das S...
Abbildung 15.5: Binärdateien enthalten viele Bytes ohne darstellbare Repräsentation.
Abbildung 15.6: spaghett.png
Kapitel 16
Abbildung 16.1: Codepages erweiterten die ASCII-Codierung um Sonderzeichen.
Abbildung 16.2: Unicode Codepoints werden in Python-Strings übersetzt, wenn Sie sie ...
Abbildung 16.3: So finden Sie den Codepoint zu einem Zeichen heraus ...
Abbildung 16.4: ... und so seinen Namen.
Kapitel 17
Abbildung 17.1: Beim Funktionsaufruf springt der Interpreter in die Funktion hinein.
Abbildung 17.2: Mit
global
und
nonlocal
können Sie auf Variablen in den äußeren Name...
Abbildung 17.3: Sie können festlegen, ob Parameter nur positionale oder Keyword-Argu...
Abbildung 17.4: Mit *args und **kwargs fangen Sie alle übrigen Argumente.
Abbildung 17.5: Ohne
*
und
**
erzwingt die Parameterliste korrekte Aufrufe. Abweichu...
Abbildung 17.6: Einpacken: Definiert eine Funktion die Parameter
*args
und
**kwargs
,...
Abbildung 17.7: Auspacken: Beim Aufruf können Sie durch ein Sternchen eingepackte We...
Abbildung 17.8: Baumartige Strukturen lassen sich rekursiv am elegantesten durchfors...
Kapitel 18
Abbildung 18.1: Grafische Nutzeroberflächen erfordern ein Umdenken.
Abbildung 18.2: Komposition: Die GUI eines Audio-Players setzt sich aus unabhängigen...
Abbildung 18.3: Vererbung und Komposition greifen ineinander.
Abbildung 18.4: Objekte sind über Protokolle mit der Umgebung verdrahtet.
Abbildung 18.5: Vererbungshierarchie der Feiertage.
Abbildung 18.6: Gleichnamige Methoden in Kindklassen überschreiben die Methoden ihre...
Abbildung 18.7: Die Unterklassen der Osterfeiertage werden jeweils mit einem Versatz...
Abbildung 18.8: Beim Vererben sollten Sie auf die Reihenfolge achten, da sich gleich...
Abbildung 18.9: Innerhalb der Hierarchie können Sie flexibel bestimmen, wer von wem ...
Kapitel 19
Abbildung 19.1: Exceptions wandern den Stapel aufgerufener Funktionen nach oben, bis...
Abbildung 19.2: Klassenhierarchie der in Python eingebauten Exceptions (Auszug).
Kapitel 20
Abbildung 20.1: Iteratoren entkoppeln das schrittweise Durchlaufen von Daten von der...
Abbildung 20.2: Zip iteriert die Elemente zweier Listen paarweise.
Kapitel 21
Abbildung 21.1: Die Startseite des Python-Package-Index (April 2023)
Abbildung 21.2: Module können andere Module oder deren Inhalte importieren.
Abbildung 21.3: Achten Sie bei der Installation unter Windows darauf, dass der Haken...
Abbildung 21.4: Im Installer für macOS setzen Sie den Haken bei Install or upgrade pip.
Abbildung 21.5: Wenn Sie alles in Ihre zentrale Python-Installation packen, kann es ...
Abbildung 21.6: Mithilfe von virtuellen Umgebungen können Sie mehrere Versionen auf ...
Abbildung 21.7: Wenn Sie Code weitergeben, sollten Sie auch dazusagen, von welchen P...
Abbildung 21.8: Skizze: Eine Funktion wird in ein anderes Modul importiert.
Kapitel 24
Abbildung 24.1: Für kleine Projekte ist eine Sichtprüfung ausreichend.
Abbildung 24.2: Komplexe Software hat so viele Wackelteile, dass Sie nicht allein du...
Abbildung 24.3: Beim Testen sollten Sie methodisch vorgehen.
Abbildung 24.4: Testmethoden sind in drei Abschnitte untergliedert.
Abbildung 24.5: Der Test-Runner ist das Herz Ihrer Test-Umgebung.
Abbildung 24.6: Moderne Entwicklungsumgebungen machen Testergebnisse leichter zugäng...
Abbildung 24.7: Vermeiden Sie es in Tests, teure Ressourcen anzusprechen.
Abbildung 24.8: Daten fließen nicht nur auf dem Hauptkanal durch das System under Test.
Abbildung 24.9: Ersetzen Sie teure Ressourcen durch Doppelgänger.
Abbildung 24.10: Manchmal brauchen mehrere Tests das gleiche Setup.
Kapitel 26
Abbildung 26.1: Wann Sie heute aus dem Supermarkt rauskommen, ist unter anderem davo...
Kapitel 27
Abbildung 27.1: Programme können in mehrere Ausführungspfade –
Threads
– aufgespalte...
Abbildung 27.2: Wem gehört die Parklücke? Eine typische Race Condition.
Abbildung 27.3: Deadlock – wer darf zuerst?
Abbildung 27.4: Ohne den zweiten Thread würde beim Herunterladen die GUI einfrieren.
Abbildung 27.5: Vom Haupt-Thread wird ein Neben-Thread abgezweigt.
Abbildung 27.6: Der neue Thread schläft eine Sekunde – dadurch ändert sich die Reihenf...
Abbildung 27.7: Die langsame Ausgabe blockiert das Programm, daher verbannt man sie ...
Kapitel 28
Abbildung 28.1: Eine Hilfsfunktion trennt die zu summierende Zahlenspanne auf, s...
Abbildung 28.2: Mehrere Threads bedeuten nicht automatisch, dass es schneller ge...
Abbildung 28.3: Mit
multiprocessing
werden mehrere Prozesse mit jeweils eigenem Pyth...
Kapitel 30
Abbildung 30.1: Ein Heimnetz wird typischerweise von einem Multifunktionsgerät zusam...
Abbildung 30.2: Ein Brief wird zum Versand mit weiteren Infos angereichert.
Abbildung 30.3: Ein vereinfachtes Schichtenmodell.
Abbildung 30.4: Der UDP-Header. Die erste Zeile zeigt den Index.
Abbildung 30.5: TCP und IPv4-Header. Die erste Zeile zeigt den Index; Steuerdaten si...
Kapitel 31
Abbildung 31.1: Die Katze sitzt vor dem Mauseloch und wartet, dass die Maus sich bew...
Abbildung 31.2: Wenn alles läuft, schickt der Mäuse-Client nun über das Netzwerk die...
Abbildung 31.3: Solange Sie als Adresse
localhost
angeben, verlassen die Datagramme ...
Abbildung 31.4: In Ihrem Heimnetz werden Datagramme anhand der IP-Adressen zugestellt.
Kapitel 32
Abbildung 32.1: Der Server öffnet einen Socket und wartet darauf, dass sich ein Clie...
Abbildung 32.2: Client und Server senden und empfangen abwechselnd Daten.
Abbildung 32.3: Die Nachrichten für den Austausch zwischen Client und Server.
Abbildung 32.4: Je nach Anfrage antwortet der Server mit einer passenden Antwort.
Kapitel 33
Abbildung 33.1: Die Einzelteile einer URL, also einer Adresse im Web.
Abbildung 33.2: Der Browser bastelt aus diesem HTML eine interessante Webseite und z...
Abbildung 33.3: Mithilfe von CSS kleiden Sie Ihre Seite in ein ansprechendes Gewand.
Abbildung 33.4: In den Entwickler-Tools Ihres Browsers können Sie HTTP bei der Arbei...
Kapitel 34
Abbildung 34.1: Der fiktive Webshop
Books to Scrape
hilft beim Entwickeln eines Webc...
Kapitel 35
Abbildung 35.1: Django löst viele Probleme, auf die man beim Programmieren von Webse...
Abbildung 35.2: Django-Projekte werden untergliedert.
Abbildung 35.3: Wenn Sie diese Seite sehen, ist Ihr Django-Projekt auf dem richtigen...
Abbildung 35.4: Um eine URL mit einer HTML-Seite zu verknüpfen, sind ein paar Schrit...
Abbildung 35.5: Die bekannte Hallo-Welt-Webseite – aber diesmal mit Django ausgeliefert!
Abbildung 35.6: Die Webseite zeigt die (fast) aktuelle Uhrzeit.
Abbildung 35.7: Ohne Style sieht das Menü noch etwas verloren aus.
Abbildung 35.8: Mit ein wenig CSS sieht das Menü schon besser aus.
Abbildung 35.9: Mithilfe des Block-Template-Tags erzeugen Sie Platzhalter im Layout,...
Abbildung 35.10: Wenn Sie alles richtig verdrahtet haben, können Sie die Unterseiten ...
Abbildung 35.11: Beim Modellieren gehen Sie in wiederkehrenden Schritten vor.
Abbildung 35.12: Datenbanken verwenden NULL, um auszudrücken, dass kein Wert vorhande...
Abbildung 35.13: Eine
ListView
mit passender HTML-Vorlage stellt die Rasenmäher in de...
Abbildung 35.14: Eine Unterseite zeigt die Details einzelner Rasenmäher an – dafür eign...
Abbildung 35.15: Über die Anmeldemaske gelangen Sie in die Verwaltung. Zuvor müssen S...
Abbildung 35.16: Standardmäßig können Sie im Admin nur Konten und Gruppen verwalten.
Abbildung 35.17: Nachdem Sie Ihr Model registriert haben, taucht es in der Verwaltung...
Abbildung 35.18: Wenn Sie den
verbose_name
Ihres Models einstellen, erscheint im Admi...
Abbildung 35.19: Im Admin werden die vorhandenen Rasenmäher übersichtlich aufgelistet.
Abbildung 35.20: Anhand der Model-Definition generiert der Admin passende Masken für ...
Kapitel 36
Abbildung 36.1: Auf der Startseite des Servers werden verfügbare Notebooks aufgelistet.
Abbildung 36.2: Im Notebook bearbeiten Sie Code in separaten Zellen.
Abbildung 36.3: Mit Markdown-Zellen können Sie Dokumentation in nächster Nähe zu Ihr...
Abbildung 36.4: Mit dem
%%timeit
-Befehl wird die Zelle mehrfach ausgeführt und die G...
Abbildung 36.5: Durch das Fragezeichen erhalten Sie umfassende Hilfe.
Abbildung 36.6: Ein interaktives Steuerelement
Abbildung 36.7: Durch Bewegen des Schiebers wird das Ergebnis dynamisch aktualisiert.
Abbildung 36.8: Die beiden Schieber sind gekoppelt und aktualisieren einander.
Kapitel 37
Abbildung 37.1: Mithilfe der Steuerelemente können Sie unwichtige Daten dynamisch he...
Abbildung 37.2: Die Resampling-Funktion fasst Daten über verschiedene Zeiträume zusa...
Kapitel 38
Abbildung 38.1: Die Funktion
plt.plot(...)
erzeugt aus zwei kurzen Listen eine Linie.
Abbildung 38.2: Abbildungen können gleich mehrere Diagramme enthalten.
Abbildung 38.3: Mit
ipywidgets.interact(...)
erstellen Sie interaktive Plots, deren ...
Abbildung 38.4: Mithilfe zweier Schieber können Sie ein Zeitfenster eingrenzen, um i...
Abbildung 38.5: Tortendiagramme sind zwar schön anzuschauen, werden aber schnell unü...
Abbildung 38.6: Die Balken eines Balkendiagramms erleichtern Vergleiche zwischen den...
Abbildung 38.7: Eine Heatmap. Jedes Kästchen zeigt die Fahrten eines Tages – je dunk...
Abbildung 38.8: Boxplots stellen Verteilungen übersichtlich dar und ermöglichen schn...
Abbildung 38.9: Scatterplots visualisieren die Beziehung zwischen zwei Variablen und...
Abbildung 38.10: Der Rheinfall bei Schaffhausen – ein beliebtes Ausflugsziel.
Abbildung 38.11: Histogramme helfen Fotografen, die Belichtung eines Bildes zu bewerten.
Kapitel 39
Abbildung 39.1: Die TUI des NetworkManagers simuliert mit Buchstaben und Sonderzeich...
Abbildung 39.2: Das Programm
WinDirStat
stellt die Inhalte von Verzeichnissen grafis...
Abbildung 39.3: Die GUI dieses Grafikprogramms richtet sich eher an Experten.
Kapitel 40
Abbildung 40.1:
tkinter
ist ordnungsgemäß installiert.
Abbildung 40.2: Die gebräuchlichsten
tkinter
-Widgets im Überblick.
Abbildung 40.3: Auf der Python-Webseite finden Sie Dateien zum Herunterladen mit Has...
Abbildung 40.4: Eine Skizze des Programmablaufs mit passenden Widgets
Abbildung 40.5: Die Skizze des GUI-Programms mit verschiedenen Widgets
Abbildung 40.6: Ein (fast) leeres Fenster
Abbildung 40.7: Die Variablennamen der verschiedenen Widgets
Abbildung 40.8: Widgets werden in einem Raster angeordnet.
Abbildung 40.9: Durch einen Füllabstand wirkt die GUI leichter und nicht so gestaucht.
Abbildung 40.10: Wenn Sie nach dem Klick auf Ö
ffnen
diese Nachricht sehen, haben Sie ...
Abbildung 40.11: So wird eine Datei geöffnet: Beim Erstellen der Schaltfläche wird al...
Abbildung 40.12: So wird die Datei angezeigt: Im Programm wird eine
StringVar
angeleg...
Abbildung 40.13: So füllen Sie die Combobox: Eine Liste mit Hash-Namen (1) wird im Ko...
Abbildung 40.14: So wird der Algorithmus gewählt: Legen Sie eine
StringVar
an (1). Ve...
Abbildung 40.15: Beim Start ist das erste Element der Liste bereits ausgewählt.
Abbildung 40.16: Auch hier kommt wieder eine
StringVar
zum Einsatz (1). Ein Klick auf...
Abbildung 40.17: Die Nachricht unterbricht den Nutzer und macht unmissverständlich kl...
Abbildung 40.18: Nach dem Kopieren des Hashes wird eine Nachricht zur Bestätigung ang...
Abbildung 40.19: Die aufwändige Berechnung des Hash-Wertes wird durch einen Thread in...
Abbildung 40.20: Ein Balken zeigt an, wie weit die Berechnung des Hash-Wertes bereits...
Abbildung 40.21: Obwohl der Linux-Desktop »Gnome« (unten) ein elegantes Gewand trägt,...
Abbildung 40.22: Durch das »Forest«-Thema sieht Ihre GUI auf allen Betriebssystemen g...
Abbildung 40.23: Bei nativer Auflösung ist alles sehr klein und wird erst durch die S...
Abbildung 40.24: Windows-Prozessen muss man erst mal schonend beibringen, dass Ihnen ...
Abbildung 40.25: Die interne Skalierung von
tkinter
ändert die Schriftgröße unabhängi...
Abbildung 40.26: Unter macOS können Sie Auflösung und Skalierung zwar nicht unabhängi...
Abbildung 40.27: Mithilfe des macOS-Skripteditors erstellen Sie eine Verknüpfung, die...
Abbildung 40.28: Mit
menulibre
erstellen Sie eine Verknüpfung für Ihr GUI-Programm.
Abbildung 40.29: Eine Verknüpfung zu Ihrer Python-GUI erscheint unter Gnome im Anwend...
Kapitel 3
Tabelle 3.1: Wichtige Befehle für die Kommandozeile
Kapitel 5
Tabelle 5.1: Pythons Schlüsselwörter
Tabelle 5.2: Literale – in die Sprache eingebaute Daten
Kapitel 8
Tabelle 8.1: Mathematische Operatoren
Tabelle 8.2: Auswertungsreihenfolge der Operatoren
Tabelle 8.3: Einige mathematische Funktionen sind ohne Umwege verfügbar
Tabelle 8.4: Das Modul
math
bietet Funktionen für speziellere Anwendungsfälle
Kapitel 9
Tabelle 9.1: Alle Werte sind True, außer die hier
Tabelle 9.2: Diese Operationen ergeben einen booleschen Wert
Tabelle 9.3: Wahrheitstabelle für and
Tabelle 9.4: Wahrheitstabelle für or
Tabelle 9.5: Wahrheitstabelle für xor
Tabelle 9.6: Die logischen Gesetze helfen Ihnen beim Umformulieren logischer Ausd...
Tabelle 9.7: Ist heute ein Arbeitstag?
Tabelle 9.8: Ist heute ein Arbeitstag?
Kapitel 12
Tabelle 12.1: Gebräuchliche Steuerzeichen
Tabelle 12.2: Gebräuchliche Formatcodes für Datums- und Zeitangaben
Kapitel 13
Tabelle 13.1: Gebräuchliche Steuerzeichen
Tabelle 13.2: Zeichenklassen
Tabelle 13.3: Vorgefertigte Zeichenklassen
Tabelle 13.4: Gruppierung
Tabelle 13.5: Wiederholungen
Tabelle 13.6: Unterschiedliche Werte für Sprechzeiten
Kapitel 15
Tabelle 15.1: Dateimodi steuern, welche Operationen nach dem Öffnen einer Datei zu...
Tabelle 15.2: Mit
+
erhalten Sie zusätzliche Lese- oder Schreibmöglichkeiten.
Tabelle 15.3: Der IHDR-Chunk enthält die Metadaten eines PNG-Bildes.
Kapitel 16
Tabelle 16.1: Die ASCII-Zeichentabelle
Tabelle 16.2: Einige Unicode-Zeichen und ihre Codierung
Kapitel 17
Tabelle 17.1: Built-in-Functions – nützliche Funktionen, die Sie ohne Umwege verwend...
Tabelle 17.2: Einige nützliche Lambda-Funktionen
Kapitel 18
Tabelle 18.1: Wichtige Konzepte der objektorientierten Programmierung
Kapitel 21
Tabelle 21.1: Einige Module der Standardbibliothek. Hier könnte Ihre Erkundungstou...
Tabelle 21.2: Gebräuchliche Befehle für
pip
Kapitel 23
Tabelle 23.1: Ein sinnvoller Satz an Prüfregeln für den Linter
Kapitel 24
Tabelle 24.1: Einige wichtige Assertion-Methoden
Kapitel 30
Tabelle 30.1: Gebräuchliche Protokolle der Anwendungsschicht – das P steht jeweils...
Tabelle 30.2: Einige IP-Adressen sind reserviert
Kapitel 32
Tabelle 32.1: Ortsabhängige Kodiervorschläge
Kapitel 33
Tabelle 33.1: Gebräuchliche HTML-Tags
Tabelle 33.2: HTTP unterstützt verschiedene Operationen, die als Methoden oder Ver...
Tabelle 33.3: Die wichtigsten Status-Codes im Überblick
Kapitel 34
Tabelle 34.1: Mithilfe von Selektoren weisen Sie der HTML-Struktur Stile zu
Tabelle 34.2: Selektoren können kombiniert werden, um Schachtelung oder Reihenfolg...
Kapitel 35
Tabelle 35.1: Personen
Tabelle 35.2: Telefonnummern
Tabelle 35.3: Eine Tabelle mit Lücken
Tabelle 35.4: Die Bedeutung der erzeugten Datei-Rohlinge
Kapitel 36
Tabelle 36.1: Praktische Tastenkombinationen für Notebooks
Tabelle 36.2: Mit magischen Befehlen interagiert das Notebook mit der Umwelt
Kapitel 37
Tabelle 37.1: Die aggregierten Daten des Fahrtenbuchs, gruppiert nach dem Zweck de...
Tabelle 37.2: Hierarchische Daten werden in einer verschachtelten Tabelle wie dies...
Tabelle 37.3: Werden unvollständige Zeilen entfernt, bleibt vom Fahrtenbuch nicht ...
Kapitel 38
Tabelle 38.1: Ein kleiner Datensatz mit Körper- und Schuhgrößen
Kapitel 39
Tabelle 39.1: Vor- und Nachteile von GUIs
Tabelle 39.2: Vor- und Nachteile von CLIs
Kapitel 40
Tabelle 40.1: Deutsche und englische Bezeichnungen gebräuchlicher Widgets sowie de...
Abdeckung
Inhaltsverzeichnis
Einleitung
1
2
3
4
5
6
7
8
9
10
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
Python Alles-in-einem-Band für Dummies
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
1. Auflage
© 2025 Wiley-VCH GmbH, Weinheim
All rights reserved including the right of reproduction in whole or in part in any form. This book is published arrangement with John Wiley and Sons, Inc.
Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Dieses Buch wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Bevollmächtigte des Herstellers gemäß EU-Produktsicherheitsverordnung ist die Wiley-VCH GmbH, Boschstr. 12, 69469 Weinheim, Deutschland, E-Mail: [email protected].
Alle Rechte bezüglich Text und Data Mining sowie Training von künstlicher Intelligenz oder ähnlichen Technologien bleiben vorbehalten. Kein Teil dieses Buches darf ohne die schriftliche Genehmigung des Verlages in irgendeiner Form – durch Photokopie, Mikroverfilmung oder irgendein anderes Verfahren – in eine von Maschinen, insbesondere von Datenverarbeitungsmaschinen, verwendbare Sprache übertragen oder übersetzt werden.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverillustration: Twin Chan – stock.adobe.com
Korrektur: Dr. Matthias Delbrück
Druck und Bindung:
Print ISBN: 978-3-527-71849-8
ePub ISBN: 978-3-527-83354-2
Für Ma und Pa.
Johannes C. Hofmeister arbeitet als Administrator am Psychologischen Institut der Universität Heidelberg. Als Software-Entwickler und Berater hat er in großen und kleinen Unternehmen C#, Java und JavaScript eingesetzt, aber am liebsten liest und schreibt er Python-Code.
Ich bedanke mich herzlich bei allen, die mich beim Schreiben unterstützt haben. Vorab danke ich den geduldigen Verlagsleuten Frau Baulig, Herrn Kestel und Herrn Ferner, die das Buch begleitet haben. Großer Dank gilt Fachkorrektor Thomas Smits. Besonderer Dank gilt meinen Erstlesern Lars Kumbier, Volker Lueg und Horst Schneider, deren Feedback das Buch stets verbessert hat. Und natürlich gäbe es dieses Buch nicht ohne Katha: Vielen Dank für deine Unterstützung.
Spezialgrüße gehen außerdem raus an Leopold Rakowski und Hendrik Atzler. Euer Feedback hat mich motiviert! Ihr werdet bestimmt großartige Programmierer!
In diesem Buch geht es um Python – die vielleicht vielseitigste und eleganteste Programmiersprache, die es derzeit gibt. Mit Python kann man fast alles machen und der Einstieg ist leichter als bei anderen Sprachen. Der Name Python stammt nicht etwa von der Schlange, sondern von der britischen Komikertruppe Monty Python, daher ist vor allem wichtig, dass Sie beim Programmieren viel Spaß haben. Die Schlange wird trotzdem ständig mit Python in Verbindung gebracht, daher ziert sie auch das Buch-Cover und taucht selbst im Python-Logo auf – vielleicht der erste Hinweis, dass sich die Python-Community selbst nicht zu ernst nimmt.
Dieses Buch richtet sich an alle, die Python lernen möchten, und deckt (hoffentlich) alle dazu notwendigen Themen ab. Falls Sie aber noch nie irgend etwas programmiert haben, könnte Ihnen der Einstieg mit diesem Buch etwas schwer fallen. Es hilft, wenn Sie bereits Erfahrungen mit anderen Programmiersprachen sammeln konnten und ein grundlegendes Verständnis von Betriebssystemen mitbringen. Wenn Sie noch gar nicht wissen, wie man einem Computer zu neuen Tricks verhilft, dann wäre es besser, wenn Sie zunächst ein Grundlagenbuch zu Rate ziehen, zum Beispiel John Paul Muellers Buch »Python programmieren lernen für Dummies«.
Sie sollten etwa wissen,
wie man Programme installiert,
wo Ihr Betriebssystem Programme speichert,
wie Sie Dateien auf Ihrem Rechner finden,
was Prozesse sind und wie Sie diese beenden können, wenn sie einmal einfrieren sollten.
Die folgenden Dinge sollten Sie mitbringen:
einen Computer mit Windows, Linux oder macOS,
die Möglichkeit, auf diesem Computer Programme zu installieren,
Deutsch- und Englischkenntnisse,
idealerweise Erfahrung im Umgang mit der Kommandozeile.
Dies ist ein Buch zum Mitmachen. Sofern es Ihnen gehört, dürfen Sie gerne mit Stiften darin herumkritzeln, um sich Notizen, Anmerkungen und wilde Flüche zu notieren. Auch Eselsohren gehören zum guten Ton – Bücher sind Gebrauchsgegenstände.
Das Buch enthält viele Code-Schnipsel, die Sie am besten abtippen. Das ist zwar etwas umständlich und in manchen Fällen auch sehr langatmig, aktiviert aber andere Hirnzellen, als wenn Sie den Code im Buch einfach nur überfliegen. Vor allem werden Sie beim Abtippen Fehler machen und aus denen lernt man bekanntlich am meisten.
Wenn mal etwas überhaupt nicht geht, können Sie Ihren Abschrieb mit einer funktionierenden Version vergleichen. Alle Code-Beispiele sind zum Herunterladen auf der Verlagswebseite des Buches verlinkt – die finden Sie unter https://www.wiley-vch.de/ISBN9783527718498
Das Buch hat zwar einen roten Faden, allerdings heißt das nicht, dass Sie es von links nach rechts oder von Deckel zu Deckel lesen müssen. Schlagen Sie lieber ein paar Seiten weiter hinten im Buch auf und lesen Sie drauflos; wenn Sie etwas nicht verstehen, versuchen Sie die Stelle zu finden, an der es erklärt wird. Das hört sich vielleicht umständlich an, aber wie heißt es so schön: Umwege erhöhen die Ortskenntnis.
Lesen Sie, was Ihnen Spaß macht, und schmökern Sie hin und her. Das Buch soll Sie dazu animieren, mitzumachen und Dinge auszuprobieren.
Das Buch ist wie folgt aufgeteilt:
Dieser Teil behandelt die Grundlagen. Python wird installiert und die Umgebung eingerichtet, schon können die ersten Programme ausgeführt werden. Dann bekommen Sie noch in einem schnellen Crashkurs die Syntax gezeigt und lernen die ersten Datentypen kennen.
Nach dem ersten Eindruck lernen Sie interessante Details der Syntax kennen, erfahren etwas über grundlegende Kontrollstrukturen und wie Sie mit Python Daten in Containern verarbeiten.
In diesem Teil erfahren Sie, wie Sie Texte verarbeiten. Außerdem wird gezeigt, wie Sie Dateien suchen, lesen und schreiben und wie Sie dafür sorgen, dass dabei Sonderzeichen wie Umlaute und Akzente nicht verlustig gehen.
Der vierte Buchteil befasst sich mit Abstraktionen. Diese benötigen Sie, um komplexere Programme zu schreiben. Sie erfahren alles über Funktionen, Klassen und Objekte und wie Sie mit Ausnahmen Fehler behandeln oder sonstige Abläufe steuern können.
Leider genießen nur wenige den Luxus, aus Spaß an der Freude vor sich hin zu programmieren, daher gibt es in diesem Buchteil wichtige Tipps, wie Sie fehlerfreien und qualitativ hochwertigen Code programmieren, was vor allem in professionellen Settings wichtig ist. Es werden Tools zur statischen Prüfung vorgestellt und gezeigt, wie Sie Ihren Code testen können.
Bei manchen Programmen kommen das Netzwerk oder die Festplatte nicht hinterher. Statt auf diese langsamen Ressourcen zu warten, können Sie ihr Programm in der Zwischenzeit etwas anderes erledigen lassen. Und sollte der Prozessor mal der limitierende Faktor sein, können Sie auch die restlichen Prozessorkerne verwenden – wie das geht, wird in diesem Buchteil erklärt.
Ein Computer kann schon einiges, aber richtig spannend wird es erst, wenn Sie Daten zwischen mehreren Computern austauschen. Darum geht es in diesem Teil, der sich mit vernetzten Rechnerystemen befasst.
Noch vor ein paar Jahren gab es im Internet Suchmaschinen, mit denen man alles finden konnte. Leider wurden sie von der Werbeindustrie zerfressen und liefern heute oft nur noch Stuss zurück. Dieser Buchteil befasst sich damit, wie Sie Webseiten mit Python aufrufen, nach Inhalten durchforsten und sogar eigene Stuss-Seiten bauen können.
Angehende Wissenschaftler erfahren in diesem Buchteil, wie man Lab-Notebooks verwendet, Daten aufbereitet und daraus dann einsichtsvolle Grafiken erzeugt.
Hier dreht sich alles um grafische Benutzeroberflächen, auf denen Sie nach Herzenslust herumklicken können.
Zum Schluss gibt es im bewährten Top-Ten-Teil noch ein paar Tipps mit auf Ihren Weg als Programmierer/in und ein paar Einzeiler (teils auch mit mehr als einer Zeile) – falls Sie mal auf einer Cocktailparty oder in einem Vorstellungsgespräch jemanden beeindrucken möchten.
Im Buch verteilt finden Sie verschiedene Symbole:
Hier werden praktische Tipps für den Alltag hervorgehoben.
Der Techniker erklärt Hintergrund-Infos, Fakten, interessante Details und taucht immer dann auf, wenn Erbsen gezählt werden müssen.
Dieses Symbol zeigt an, dass Sie sich etwas gut merken sollten oder dass etwas Wichtiges wiederholt wird.
Dieses Symbol zeigt, dass hier etwas schiefgehen könnte. Meistens heißt das, dass ich selbst diesen Fehler schon mindestens 300-mal gemacht habe, daher sollten Sie sich aus Solidarität die Zeit nehmen, ihn auch zu machen.
Die Sprechblase enthält Anekdoten, Unsinn aus dem persönlichen Nähkästchen und Beiträge zu Ihrer Belustigung und Kollateralbildung. Das Feuilleton des Buches sozusagen.
Das Buch folgt zur besseren Übersicht einigen typografischen Konventionen.
Python-Code ist so formatiert:
# Kommentarprint("Python für Dummies.")
Listing 1: datei.py
Wenn der Code auf dem interaktiven Interpreter eingegeben werden soll, fängt er mit drei spitzen Klammern an:
>>> print("Python für Dummies.")
Wenn dem Code-Block ein Dateiname nachsteht, finden Sie den Code auch als Datei zum Herunterladen.
Befehle für die Kommandozeile des Betriebssystems werden so formatiert (egal ob Windows, Linux oder macOS):
$ command
Neue Konzepte werden kursiv hervorgehoben. Code wird auch im Fließtext mit einer nicht-proportionalen Schriftart formatiert, wenn zum Beispiel ein Begriff aus vorangegangenem Code beschrieben wird wie die Funktion print.
Variablen, die Sie im Fließtext finden, werden ebenfalls durch eine nichtproportionale Schriftart hervorgehoben, etwa so:
variable
.
Die URLs von Webseiten werden ebenso dargestellt, aber in der Regel mit dem üblichen »https://« davor:
https://www.python.org/doc/humor/
.
Anklickbare Menüpunkte und Beschriftungen werden in K
apitälchen
gesetzt.
Namen von Werkzeugen sehen so aus:
Werkzeug
.
Auch Platzhalter, die Sie geistig mit eigenen Werten füllen müssen, werden kursiv hervorgehoben:
<passwort>
.
Teil I
IN DIESEM TEIL...
Die Installation
Den Python-Interpreter zum Laufen bringen
Python-Code aus der Vogelperspektive
Die grundlegende Syntax
Doppelpunkte und Einrückungen