Python Alles-in-einem-Band für Dummies - Johannes C. Hofmeister - E-Book

Python Alles-in-einem-Band für Dummies E-Book

Johannes C. Hofmeister

0,0
29,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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

  • Wie Sie mit Python interessante Probleme lösen
  • Wie Sie Programme mit Funktionen, Klassen und Modulen strukturieren
  • Wie Sie das Internet nach Daten durchforsten und Webseiten mit Django erstellen

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 966

Veröffentlichungsjahr: 2025

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Python Alles-in-einem-Band für Dummies

Um den Spickzettel für dieses Buch anzuzeigen, gehen Sie einfach zu www.dummies.com und suchen Sie im Suchfeld nach „Python Alles-in-einem-Band für Dummies Spickzettel“ im Suchfeld.

Inhaltsverzeichnis

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

Abbildungsverzeichnis

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...

Tabellenverzeichnis

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...

Guide

Abdeckung

Inhaltsverzeichnis

Einleitung

Seiten

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

Widmung

Für Ma und Pa.

Über den Autor

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.

Danksagung

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!

Einleitung

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.

Törichte Annahmen über die Leser

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.

Wie Sie dieses Buch nutzen können

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

Was Sie nicht lesen müssen

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.

Wie dieses Buch aufgebaut ist

Das Buch ist wie folgt aufgeteilt:

Teil I: Willkommen in Python-City

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.

Teil II: Alles unter Kontrolle

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.

Teil III: Buchstabensuppe

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.

Teil IV: Objekte und Funktionen

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.

Teil V: Weniger kaputte Software

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.

Teil VI: Wartezeiten vermeiden

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.

Teil VII: Netzwerkprogrammierung

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.

Teil VIII: Python im World Wide Web

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.

Teil IX: Der Python im Daten-Dschungel

Angehende Wissenschaftler erfahren in diesem Buchteil, wie man Lab-Notebooks verwendet, Daten aufbereitet und daraus dann einsichtsvolle Grafiken erzeugt.

Teil X: GUI-Programmierung

Hier dreht sich alles um grafische Benutzeroberflächen, auf denen Sie nach Herzenslust herumklicken können.

Teil XI: Der Top-Ten-Teil

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.

Symbole, die in diesem Buch verwendet werden

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.

Konventionen in diesem Buch

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

Willkommen in Python-City

IN DIESEM TEIL...

Die Installation

Den Python-Interpreter zum Laufen bringen

Python-Code aus der Vogelperspektive

Die grundlegende Syntax

Doppelpunkte und Einrückungen