Python Crashkurs - Eric Matthes - E-Book

Python Crashkurs E-Book

Eric Matthes

0,0

Beschreibung

Der Schnellkurs für angehende Python-Profis - Verwenden Sie Python-Bibliotheken und -Werkzeuge, darunter pytest, Pygame, Matplotlib, Plotly und Django - Behebung von Programmierfehlern und Lösung gängiger Programmierprobleme - Neu in dieser Ausgabe: u.a. VS Code für die Textbearbeitung und das pathlib-Modul für die Dateiverwaltung»Python Crashkurs« zählt zu den weltweiten Bestsellern unter den Einführungen in die Programmiersprache Python. Mit dieser kompakten und gründlichen Anleitung werden Sie in kürzester Zeit Programme schreiben, Probleme lösen und funktionierende Anwendungen entwickeln. Zu Beginn führt Sie Autor Eric Matthes in grundlegende Programmierkonzepte wie Variablen, Listen, Klassen und Schleifen ein. Sie werden Ihr neues Wissen in die Praxis umsetzen, indem Sie ein von »Space Invaders« inspiriertes Arcade-Spiel konzipieren und eine Reihe von Datenvisualisierungen mit den praktischen Python-Bibliotheken programmieren. Mit den Übungen des Buches lernen Sie - leistungsfähige Python-Bibliotheken und -Werkzeuge zu verwenden, darunter pytest, Pygame, Matplotlib, Plotly und Django - immer komplexere 2D-Spiele zu erstellen, die auf Tastendruck und Mausklicks reagieren  - Anwendungen zu bauen, mit denen Benutzer Konten erstellen und ihre Daten verwalten können. Stellen Sie Anwendungen online bereit. - interaktive Datenvisualisierungen mit einer Vielzahl von Datensätzen zu generieren - Programmierfehler zu beheben und klassische Programmierprobleme zu lösenNeu in dieser Auflage: Diese 3. Auflage wurde komplett auf den jüngsten Stand des Python-Codes gebracht. Zu den neuen und aktualisierten Themen gehören VS Code für die Textbearbeitung, das pathlib-Modul für die Dateiverwaltung, pytest für das Testen Ihres Codes sowie die neuesten Funktionen von Matplotlib, Plotly und Django. Wenn Sie in die Programmierung einsteigen wollen, wird Ihnen »Python Crashkurs« die Fähigkeiten vermitteln, schnell echte Programme zu schreiben.

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

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 797

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

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



Copyright und Urheberrechte:

Die durch die dpunkt.verlag GmbH vertriebenen digitalen Inhalte sind urheberrechtlich geschützt. Der Nutzer verpflichtet sich, die Urheberrechte anzuerkennen und einzuhalten. Es werden keine Urheber-, Nutzungs- und sonstigen Schutzrechte an den Inhalten auf den Nutzer übertragen. Der Nutzer ist nur berechtigt, den abgerufenen Inhalt zu eigenen Zwecken zu nutzen. Er ist nicht berechtigt, den Inhalt im Internet, in Intranets, in Extranets oder sonst wie Dritten zur Verwertung zur Verfügung zu stellen. Eine öffentliche Wiedergabe oder sonstige Weiterveröffentlichung und eine gewerbliche Vervielfältigung der Inhalte wird ausdrücklich ausgeschlossen. Der Nutzer darf Urheberrechtsvermerke, Markenzeichen und andere Rechtsvorbehalte im abgerufenen Inhalt nicht entfernen.

Eric Matthes

Python Crashkurs

Eine praktische, projektbasierteProgrammiereinführung

3., überarbeitete und aktualisierte Auflage

Eric Matthes

Lektorat: Gabriel Neumann

Lektoratsbüro: Julia Griebel, Friederike Demmig

Fachgutachter: Kenneth Love

Übersetzung & Satz: G&U Language & Publishing Services GmbH, Flensburg, www.GundU.com

Copy-Editing: Annette Schwarz, Ditzingen

Herstellung: Stefanie Weidner, Frank Heidt

Umschlaggestaltung: Eva Hepper, Silke Braun

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.

ISBN:

Print

978-3-86490-989-4

PDF

978-3-98890-108-8

ePub

978-3-98890-109-5

mobi

978-3-98890-110-1

3., überarbeitete und aktualisierte Auflage 2024

Translation Copyright für die deutschsprachige Ausgabe © 2024 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Copyright © 2023 by Eric Matthes. Title of English-language original: Python Crash Course: A Hands-On, Project-Based Introduction to Programming, 3rd edition, ISBN 9781718502703, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The German Language 3rd edition Copyright © 2024 by dpunkt.verlag GmbH under license by No Starch Press Inc. All rights reserved.

Hinweis:

Dieses Buch wurde mit mineralölfreien Farben auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie. Hergestellt in Deutschland.

Schreiben Sie uns:

Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: [email protected].

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag noch Übersetzer können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5  4  3  2  1  0

Inhalt

Der Autor

Der Fachgutachter

Danksagung

Vorwort zur dritten Auflage

Einleitung

Zielgruppe

Lernstoff

Onlinematerial

Warum Python?

Teil 1Grundlagen

1Erste Schritte

Die Programmierumgebung einrichten

Python-Versionen

Python-Codeausschnitte ausführen

Der Editor VS Code

Python auf verschiedenen Betriebssystemen

Python unter Windows

Python unter macOS

Python unter Linux

Das Hello-World-Programm ausführen

Die Python-Erweiterung für VS Code installieren

Hello_world.py ausführen

Fehlersuche

Python-Programme im Terminal ausführen

Unter Windows

Unter Linux und macOS

Zusammenfassung

2Variablen und einfache Datentypen

Was bei der Ausführung von hello_world.py wirklich geschieht

Variablen

Variablen benennen und verwenden

Fehler bei Variablennamen vermeiden

Variablen sind Etiketten

Strings

Groß- und Kleinschreibung mithilfe von Methoden ändern

Variablen in Strings verwenden

Weißraum hinzufügen

Weißraum entfernen

Entfernen von Präfixen

Syntaxfehler bei der Stringverarbeitung vermeiden

Zahlen

Integer

Fließkommazahlen

Integer und Fließkommazahlen

Unterstriche in Zahlen

Mehrfachzuweisung

Konstanten

Kommentare

Wie werden Kommentare geschrieben?

Was für Kommentare sind sinnvoll?

The Zen of Python

Zusammenfassung

3Eine Einführung in Listen

Was sind Listen?

Elemente in einer Liste ansprechen

Indizes beginnen bei 0, nicht bei 1

Einzelne Werte aus einer Liste verwenden

Elemente verändern, hinzufügen und entfernen

Elemente in einer Liste ändern

Elemente zu einer Liste hinzufügen

Elemente aus einer Liste entfernen

Listen ordnen

Listen mit sort() dauerhaft sortieren

Listen mit der Funktion sorted() vorübergehend sortieren

Listen in umgekehrter Reihenfolge ausgeben

Die Länge einer Liste ermitteln

Indexfehler vermeiden

Zusammenfassung

4Mit Listen arbeiten

Eine komplette Liste durchlaufen

Die Schleife im Detail

Weitere Aufgaben in einer for-Schleife erledigen

Aktionen nach der for-Schleife

Einrückungsfehler vermeiden

Vergessene Einrückung der ersten Zeile in einer Schleife

Vergessene Einrückung nachfolgender Zeilen

Unnötige Einrückung

Unnötige Einrückung nach einer Schleife

Vergessener Doppelpunkt

Numerische Listen

Die Funktion range()

Numerische Listen mithilfe von range() aufstellen

Einfache Statistiken für numerische Listen

Listennotation

Teillisten

Einen Slice erstellen

Einen Slice in einer Schleife durchlaufen

Listen kopieren

Tupel

Ein Tupel definieren

Die Werte in einem Tupel durchlaufen

Tupel überschreiben

Code formatieren

Die Gestaltungsrichtlinien

Einrückung

Zeilenlänge

Leerzeilen

Zusammenfassung

5if-Anweisungen

Ein einfaches Beispiel

Bedingungen

Prüfung auf Gleichheit

Groß- und Kleinschreibung bei der Prüfung auf Gleichheit

Prüfung auf Ungleichheit

Numerische Vergleiche

Prüfung auf mehrere Bedingungen

Prüfung auf Vorhandensein eines Werts in einer Liste

Prüfung auf Abwesenheit eines Werts in einer Liste

Boolesche Ausdrücke

if-Anweisungen

Einfache if-Anweisungen

if-else-Anweisungen

Die if-elif-else-Kette

Mehrere elif-Blöcke

Den else-Block weglassen

Mehrere Bedingungen prüfen

if-Anweisungen für Listen

Prüfung auf besondere Elemente

Prüfung auf nicht leere Liste

Mehrere Listen verwenden

if-Anweisungen gestalten

Zusammenfassung

6Dictionaries

Ein einfaches Dictionary

Umgang mit Dictionaries

Zugriff auf die Werte in einem Dictionary

Schlüssel-Wert-Paare hinzufügen

Ein leeres Dictionary als Ausgangspunkt

Werte in einem Dictionary ändern

Schlüssel-Wert-Paare entfernen

Ein Dictionary aus ähnlichen Objekten

Mit get() auf Werte zugreifen

Dictionaries in einer Schleife durchlaufen

Alle Schlüssel-Wert-Paare durchlaufen

Alle Schlüssel in einem Dictionary durchlaufen

Die Schlüssel in einem Dictionary geordnet durchlaufen

Alle Werte in einem Dictionary durchlaufen

Verschachtelung

Dictionaries in einer Liste

Listen in einem Dictionary

Dictionaries in einem Dictionary

7Benutzereingaben und while-Schleifen

Die Funktion input()

Klar verständliche Eingabeaufforderungen schreiben

Verwendung von int() für numerische Eingaben

Der Modulo-Operator

while-Schleifen

while-Schleifen in Aktion

Programmbeendigung durch den Benutzer

Flags

Eine Schleife mit break verlassen

Die Anweisung continue

Endlosschleifen vermeiden

while-Schleifen für Listen und Dictionaries

Elemente von einer Liste in eine andere verschieben

Alle Vorkommen eines Wertes aus einer Liste entfernen

Ein Dictionary mit Benutzereingaben füllen

Zusammenfassung

8Funktionen

Funktionen definieren

Informationen an eine Funktion übergeben

Argumente und Parameter

Argumente übergeben

Positionsabhängige Argumente

Schlüsselwortargumente

Standardwerte

Verschiedene Formen für Funktionsaufrufe

Argumentfehler vermeiden

Rückgabewerte

Einen einfachen Wert zurückgeben

Optionale Argumente

Ein Dictionary zurückgeben

Funktionen in einer while-Schleife

Eine Liste übergeben

Eine Liste mithilfe einer Funktion ändern

Die Änderung einer Liste in einer Funktion verhindern

Beliebig viele Argumente übergeben

Positionsabhängige Argumente und Argumente beliebiger Anzahl kombinieren

Beliebig viele Schlüsselwortargumente übergeben

Funktionen in Modulen speichern

Ein komplettes Modul importieren

Einzelne Funktionen importieren

Eine Funktion mit »as« umbenennen

Ein Modul mit »as« umbenennen

Alle Funktionen eines Moduls importieren

Gestaltung von Funktionen

Zusammenfassung

9Klassen

Eine Klasse erstellen und verwenden

Die Klasse Dog erstellen

Eine Instanz einer Klasse anlegen

Mit Klassen und Instanzen arbeiten

Die Klasse Car

Einen Standardwert für ein Attribut festlegen

Attributwerte bearbeiten

Vererbung

Die Methode __init__() für eine Kindklasse

Attribute und Methoden der Kindklasse definieren

Methoden der Elternklasse überschreiben

Instanzen als Attribute

Reale Objekte modellieren

Klassen importieren

Eine einzelne Klasse importieren

Mehrere Klassen in einem Modul speichern

Mehrere Klassen aus einem Modul importieren

Ein gesamtes Modul importieren

Alle Klassen eines Moduls importieren

Ein Modul in ein Modul importieren

Aliase verwenden

Ihren eigenen Arbeitsablauf finden

Die Standardbibliothek von Python

Gestaltung von Klassen

Zusammenfassung

10Dateien und Ausnahmen

Aus Dateien lesen

Den Inhalt einer Datei lesen

Relative und absolute Dateipfade

Lesen der Zeilen einer Datei

Dateiinhalte verarbeiten

Große Dateien: eine Million Stellen

Ist Ihr Geburtsdatum in Pi enthalten?

In Dateien schreiben

Eine einzelne Zeile schreiben

Mehrere Zeilen schreiben

Ausnahmen

Division durch null

try-except-Blöcke

Abstürze mithilfe von Ausnahmen verhindern

Der else-Block

Datei nicht gefunden

Text analysieren

Umgang mit mehreren Dateien

Fehler stillschweigend übergehen

Welche Fehler sollten Sie melden und welche nicht?

Daten speichern

json.dump() und json.load()

Benutzergenerierte Daten speichern und lesen

Refactoring

Zusammenfassung

11Code testen

Pytest mit pip installieren

pip aktualisieren

Pytest installieren

Funktionen testen

Unit-Tests und Testfälle

Ein bestandener Test

Ein nicht bestandener Test

Was tun bei einem nicht bestandenen Test?

Neue Tests hinzufügen

Klassen testen

Verschiedene Annahmen

Eine Beispielklasse zum Testen

Die Klasse AnonymousSurvey testen

Verwenden von Fixtures

Zusammenfassung

Teil 2Projekte

Alien Invasion – ein Python-Spiel

Datenvisualisierung

Webanwendungen

Projekt 1:Alien Invasion

12Das eigene Kampfschiff

Das Projekt planen

Pygame installieren

Erste Schritte für das Spielprojekt

Ein Pygame-Fenster anlegen und auf Benutzereingaben reagieren

Steuerung der Framerate

Die Hintergrundfarbe festlegen

Eine Klasse für Einstellungen anlegen

Das Bild eines Raumschiffs hinzufügen

Die Klasse Ship

Das Schiff auf den Bildschirm zeichnen

Refactoring: Die Methoden _check_events() und _update_screen()

Die Methode _check_events()

Die Methode _update_screen()

Das Schiff bewegen

Auf Tastenbetätigungen reagieren

Kontinuierliche Bewegung

Bewegung nach rechts und links

Die Geschwindigkeit des Schiffes anpassen

Den Bewegungsbereich des Schiffes einschränken

Refactoring von _check_events()

Beenden mit Q

Das Spiel im Vollbildmodus ausführen

Zwischenstand

alien_invasion.py

settings.py

ship.py

Geschosse

Einstellungen für Geschosse hinzufügen

Die Klasse Bullet

Geschosse in Gruppen speichern

Geschosse abfeuern

Alte Geschosse löschen

Die Anzahl der Geschosse begrenzen

Die Methode _update_bullets()

Zusammenfassung

13Die Außerirdischen

Überblick über das Projekt

Das erste Invasionsschiff

Die Klasse Alien

Eine Instanz von Alien erstellen

Die Invasionsflotte erstellen

Reihen von Invasionsschiffen erstellen

Refactoring von _create_fleet()

Reihen hinzufügen

Die Flotte in Bewegung setzen

Die Invasoren nach rechts bewegen

Einstellungen für die Flugrichtung der Flotte

Auf Randberührungen prüfen

Sinken und Flugrichtung ändern

Invasoren abschießen

Kollisionen von Geschossen erkennen

Größere Geschosse zu Testzwecken

Die Flotte auffüllen

Die Geschosse beschleunigen

Refactoring von _update_bullets()

Spielende

Kollisionen zwischen Invasoren und dem eigenen Schiff erkennen

Auf Kollisionen zwischen Invasoren und dem eigenen Schiff reagieren

Wenn Invasoren den unteren Bildschirmrand erreichen

Game over!

Welche Teile des Spiels müssen ausgeführt werden?

Zusammenfassung

14Das Wertungssystem

Eine Play-Schaltfläche hinzufügen

Die Klasse Button

Die Schaltfläche auf den Bildschirm zeichnen

Das Spiel starten

Das Spiel zurücksetzen

Die Play-Schaltfläche deaktivieren

Den Mauszeiger ausblenden

Levels

Die Geschwindigkeitseinstellungen ändern

Die Geschwindigkeit zurücksetzen

Die Punktwertung

Den Punktestand anzeigen

Eine Anzeigetafel erstellen

Den Punktestand bei jedem Abschuss erhöhen

Den Punktestand zurücksetzen

Alle Treffer berücksichtigen

Den Punktwert erhöhen

Den Punktestand runden

Highscore

Das Level anzeigen

Die Anzahl der verfügbaren Schiffe anzeigen

Zusammenfassung

Projekt 2:Datenvisualisierung

15Daten generieren

Matplotlib installieren

Einfache Liniendiagramme

Beschriftung und Linienstärke ändern

Das Diagramm korrigieren

Vordefinierte Formatierungen verwenden

Einzelne Punkte mit scatter() darstellen und gestalten

Eine Folge von Punkten mit scatter() ausgeben

Daten automatisch berechnen

Eigene Beschriftungen anlegen

Eigene Farben festlegen

Eine Colormap verwenden

Diagramme automatisch speichern

Zufallsbewegungen

Die Klasse RandomWalk

Richtungen wählen

Den Zufallspfad als Diagramm ausgeben

Mehrere Zufallspfade erstellen

Den Pfad gestalten

Würfeln mit Plotly

Plotly installieren

Die Klasse Die

Würfeln

Die Ergebnisse analysieren

Ein Histogramm erstellen

Das Diagramm anpassen

Ergebnisse bei zwei Würfeln

Weitere Anpassungen

Würfel unterschiedlicher Flächenzahl

Diagramme speichern

Zusammenfassung

16Daten herunterladen

Das Dateiformat CSV

CSV-Spaltenköpfe analysieren

Die Spaltenköpfe und ihre Position ausgeben

Daten entnehmen und lesen

Daten in einem Temperaturdiagramm darstellen

Das Modul datetime

Datumsangaben im Diagramm darstellen

Ein Diagramm für einen längeren Zeitraum

Eine zweite Datenreihe darstellen

Einen Diagrammbereich einfärben

Fehlerprüfung

Daten selbst herunterladen

Globale Daten im GeoJSON-Format visualisieren

Erdbebendaten herunterladen

JSON-Daten untersuchen

Eine Liste aller Erdbeben aufstellen

Die Stärken entnehmen

Ortsdaten entnehmen

Eine Weltkarte zeichnen

Darstellung der Stärke

Die Farben der Markierungen anpassen

Weitere Farbpaletten

Maustext hinzufügen

Zusammenfassung

17APIs

APIs

Git und GitHub

Daten mithilfe eines API-Aufrufs anfordern

Das Paket requests installieren

API-Antworten verarbeiten

Das Antwort-Dictionary verarbeiten

Ein Überblick über die höchstbewerteten Repositories

Grenzwerte für die API-Aufrufrate

Angaben zu Repositories mit Plotly visualisieren

Das Diagramm gestalten

Eigenen Maustext hinzufügen

Links zu dem Diagramm hinzufügen

Marker-Farben anpassen

Mehr über Plotly und die GitHub-API

Die API von Hacker News

Zusammenfassung

Projekt 3:Webanwendungen

18Erste Schritte mit Django

Ein Projekt einrichten

Eine Spezifikation schreiben

Eine virtuelle Umgebung erstellen

Die virtuelle Umgebung aktivieren

Django installieren

Ein Projekt in Django erstellen

Die Datenbank erstellen

Das Projekt anzeigen

Eine App anlegen

Modelle definieren

Modelle aktivieren

Die Admin-Site von Django

Das Modell für die Einträge definieren

Das Modell Entry in die Datenbank aufnehmen

Das Modell Entry auf der Admin-Site registrieren

Die Django-Shell

Seiten erstellen: die Startseite von Learning Log

Eine URL zuordnen

Eine Ansicht schreiben

Eine Vorlage schreiben

Weitere Seiten erstellen

Vererbung bei Vorlagen

Die Seite Topics

Einzelne Fachgebietsseiten

Zusammenfassung

19Benutzerkonten

Dateneingabe durch die Benutzer

Neue Fachgebiete hinzufügen

Neue Einträge hinzufügen

Einträge bearbeiten

Benutzerkonten einrichten

Die App accounts

Die Anmeldeseite

Abmelden

Die Registrierungsseite

Die Benutzer als Besitzer ihrer eigenen Daten

Den Zugriff mit @login_required beschränken

Daten mit Benutzern verknüpfen

Den Zugriff auf die Fachgebiete auf die zuständigen Benutzer einschränken

Die Fachgebiete eines Benutzers schützen

Die Seite edit_entry schützen

Neue Fachgebiete dem aktuellen Benutzer zuordnen

Zusammenfassung

20Eine App gestalten und bereitstellen

Learning Log gestalten

Die App django-bootstrap5

Learning Log mit Bootstrap gestalten

Änderungen an base.html

Die Startseite mit einem Jumbotron gestalten

Das Anmeldeformular gestalten

Die Seite Topics gestalten

Einträge auf den Fachgebietsseiten gestalten

Learning Log bereitstellen

Ein Platform.sh-Konto anlegen

Die Platform.sh-Befehlszeile installieren

Platformsshconfig installieren

Die Datei requirements.txt erstellen

Zusätzliche Voraussetzungen für die Bereitstellung

Konfigurationsdateien hinzufügen

Die Konfigurationsdatei services-yaml

settings-py für Platform.sh anpassen

Mit Git den Überblick über die Projektdateien bewahren

Die Platform.sh-Bereitstellung verbessern

Das Onlineprojekt schützen

Änderungen mit Commit bestätigen und übertragen

Eigene Fehlerseiten erstellen

Weiterentwicklung des Projekts

Projekte auf Platform.sh löschen

Zusammenfassung

Nachwort

Anhang

AInstallation und Fehlerbehebung

Python unter Windows

Py statt Python

Das Installationsprogramm erneut ausführen

Python unter macOS

Versehentliches Installieren der Apple-Version von Python

Python 2 und ältere Versionen von macOS

Python unter Linux

Die Standardinstallation vornehmen

Die letzte Python-Version installieren

Die verwendete Python-Version herausfinden

Schlüsselwörter und integrierte Funktionen

Python-Schlüsselwörter

Integrierte Python-Funktionen

BTexteditoren und IDEs

Effizient mit VS Code arbeiten

VS Code konfigurieren

Tabulatoren und Leerzeichen verwenden

Das Farbschema ändern

Den Zeilenlängenmarker festlegen

Die Ausgabe vereinfachen

Kurzbefehle in VS Code

Codeblöcke einrücken und Einrückungen aufheben

Codeblöcke auskommentieren

Weitere Texteditoren und IDEs

IDLE

Geany

Sublime Text

Emacs und Vim

PyCharm

Jupyter Notebooks

CHilfe finden

Erste Schritte

Versuchen Sie es erneut

Legen Sie eine Pause ein

Nutzen Sie das Onlinematerial zu diesem Buch

Online nach Hilfe suchen

Stack Overflow

Die offizielle Python-Dokumentation

Offizielle Dokumentation der Bibliotheken

r/learnpython

Blogs

Discord

Slack

DVersionssteuerung mit Git

Git installieren

Git konfigurieren

Ein Projekt anlegen

Dateien ignorieren

Ein Repository initialisieren

Den Projektstatus überprüfen

Dateien zum Repository hinzufügen

Einen Commit durchführen

Das Protokoll einsehen

Der zweite Commit

Änderungen zurücknehmen

Vorherige Commits auschecken

Das Repository löschen

EFehlerbehebung bei der Bereitstellung

Git installieren

Grundlgegende Fehlersuche

Den Hinweisen nachgehen

Das Protokoll analysieren

Betriebssystemspezifische Fehlersuche

Von Windows bereitstellen

Weitere Entwicklungsansätze

Stichwortverzeichnis

Für meinen Vater, der sich immer Zeit genommen hat, meine Fragen über Programmierung zu beantworten, und für Ever, der gerade anfängt, mir seine Fragen zu stellen.

Der Autor

Eric Matthes ist High-School-Lehrer für Naturwissenschaften und Mathematik in Alaska und gibt dort auch Einführungskurse in Python. Programme schreibt er seit dem Alter von fünf Jahren. Zurzeit konzentriert er sich darauf, Software zu entwickeln, die Lernverfahren effizienter machen soll und die Vorteile von Open-Source-Programmen auf den Bildungsbereich überträgt. Seine Freizeit verbringt er mit Klettern und mit seiner Familie.

Der Fachgutachter

Kenneth Love arbeitet schon seit vielen Jahren als Python-Programmierer, Lehrer und Organisator von Konferenzen. Er ist auf vielen Konferenzen als Redner und Lehrer aufgetreten und war selbstständig tätig als Python- und Django-Programmierer. Zurzeit arbeitet er als Softwareingenieur für O’Reilly Media. Außerdem gehört er zu den Urhebern des Pakets django-braces, das mehrere praktische Mixins für die klassengestützten Ansichten in Django bietet. Auf Twitter können Sie ihm als @kennethlove folgen.

Danksagung

Dieses Buch wäre ohne die wunderbaren und äußerst professionellen Mitarbeiter von No Starch Press nicht möglich gewesen. Bill Pollock hat mich eingeladen, ein Einführungsbuch zu schreiben, und ich bin ihm für dieses einmalige Angebot sehr dankbar. Liz Chadwick hat an allen drei Ausgaben mitgearbeitet, und das Buch ist durch ihre ständige Mitarbeit noch besser geworden. Eva Morrow brachte frischen Wind in diese neue Ausgabe, und auch ihre Erkenntnisse haben das Buch verbessert. Ich schätze Doug McNairs Hinweise zur Verwendung einer korrekten Grammatik, ohne dabei zu formell zu werden. Jennifer Kepler hat die Produktionsarbeiten überwacht, die aus meinen vielen Dateien ein tolles Buch haben werden lassen.

Es gibt viele Menschen bei No Starch Press, die zum Erfolg dieses Buches beigetragen haben, mit denen ich aber nicht direkt zusammenarbeiten konnte. No Starch hat ein fantastisches Marketingteam, das sich nicht nur mit dem Verkauf von Büchern befasst, sondern auch dafür sorgt, dass die Leser die Bücher finden, die für sie geeignet sind und die ihnen helfen, ihre Ziele zu erreichen. No Starch verfügt auch über eine starke Abteilung für Lizenzen. Der Python-Crashkurs hat dank des Engagements dieses Teams Leser auf der ganzen Welt und in vielen Sprachen erreicht. All diesen Menschen, mit denen ich nicht einzeln zusammengearbeitet habe, danke ich dafür, dass sie dem Python-Crashkurs geholfen haben, sein Publikum zu finden.

Ich möchte mich bei Kenneth Love bedanken, dem technischen Gutachter für alle drei Ausgaben des Python-Crashkurses. Ich habe Kenneth auf der PyCon kennengelernt, und der Enthusiasmus dort für die Sprache und die Python-Gemeinschaft ist seither eine beständige Quelle der beruflichen Inspiration. Wie immer ging Kenneth über die reine Überprüfung von Fakten hinaus und begutachtete das Buch mit dem Ziel, Programmieranfängern zu helfen, ein solides Verständnis der Sprache Python und der Programmierung im Allgemeinen zu entwickeln. Außerdem hat er ein Auge auf Bereiche geworfen, die in früheren Ausgaben gut waren, die aber verbessert werden könnten, wenn man die Gelegenheit hätte, das Buch noch einmal komplett zu überarbeiten. Das heißt, dass alle Ungenauigkeiten, die verbleiben, vollständig meine eigenen sind.

Ich möchte auch allen Lesern danken, die ihre Erfahrungen mit dem Python-Crashkurs geteilt haben. Wenn man die Grundlagen des Programmierens lernt, kann das die Sicht auf die Welt verändern, und manchmal hat das einen tiefgreifenden Einfluss auf die Menschen. Es ist zutiefst bewegend, diese Geschichten zu hören, und ich danke allen, die ihre Erfahrungen so offen geteilt haben. Ich möchte meinem Vater dafür danken, dass er mich schon in jungen Jahren an das Programmieren herangeführt hat und keine Angst hatte, dass ich seine Geräte kaputt machen könnte. Ich möchte meiner Frau Erin dafür danken, dass sie mich beim Schreiben dieses Buches unterstützt und ermutigt hat, und für all die Arbeit, die nötig ist, um es über mehrere Auflagen hinweg zu pflegen. Ich möchte auch meinem Sohn Ever danken, dessen Neugierde mich immer wieder inspiriert.

Vorwort zur dritten Auflage

Die Reaktion auf die zweite Auflage von Python Crashkurs war überwältigend positiv. Es wurden einschließlich der Übersetzungen in über 10 Sprachen mehr als eine Million Exemplare gedruckt. Ich erhielt Briefe und E-Mails von Lesern, sowohl von Zehnjährigen als auch von Rentnern, die in ihrer Freizeit programmieren lernen möchten. Python Crashkurs wird im Sekundarstufenunterricht, aber auch in Hochschulkursen eingesetzt. Studenten, an die anspruchsvollere Lehrbücher ausgeteilt wurden, haben Python Crashkurs als ergänzenden Text für ihren Kurs benutzt und waren sehr zufrieden damit. Das Buch wird verwendet, um die Programmierfähigkeit für den Beruf zu verbessern, umzusteigen und um an Privatprojekten zu arbeiten. Kurzum, es wird so vielfältig genutzt, wie ich es mir gewünscht habe.

Es war überaus erfreulich, eine dritte Auflage von Python Crashkurs zu schreiben. Auch wenn Python eine ausgereifte Sprache ist, entwickelt sie sich wie jede andere Sprache weiter. Mein Hauptziel bei der Überarbeitung des Buches war es, einen gut zusammengestellten Python-Einführungskurs zu bieten. Durch die Lektüre dieses Buches lernen Sie alles, was Sie brauchen, um mit der Arbeit an Ihren eigenen Projekten zu beginnen, und Sie werden eine solide Grundlage für all Ihre zukünftigen Fortschritte schaffen. Ich habe einige Abschnitte auf den neuesten Stand gebracht, um neue, einfachere Möglichkeiten darzustellen, die es jetzt zur Erledigung von Aufgaben in Python gibt. Außerdem habe ich einige Abschnitte deutlicher formuliert, in denen Aspekte der Sprache nicht klar genug dargestellt wurden. Alle Projekte wurden unter Zuhilfenahme weitverbreiteter, gut gepflegter Bibliotheken komplett überarbeitet, die Sie auch vertrauensvoll für Ihre eigenen Projekte einsetzen können.

Der folgende Überblick führt besondere Änderungen auf, die ich in dieser dritten Auflage vorgenommen habe:

Kapitel 1

enthält jetzt den Texteditor VS Code, der bei Anfängern und professionellen Programmierern beliebt ist und auf allen Betriebssystemen problemlos funktioniert.

Kapitel 2

enthält die neuen Methoden

removeprefix()

und

removesuffix()

, die bei der Arbeit mit Dateien und URLs hilfreich sind. In diesem Kapitel finden Sie auch die neuen, verbesserten Fehlermeldungen von Python, die Ihnen bei der Fehlersuche in Ihrem Code helfen, wenn etwas schiefläuft.

Kapitel 10

verwendet das Modul

pathlib

für die Arbeit mit Dateien. Dies ist ein viel einfacherer Ansatz zum Lesen aus und Schreiben in Dateien.

Kapitel 11

verwendet

pytest

, um automatisierte Tests für den von Ihnen geschriebenen Code zu schreiben. Die

pytest

-Bibliothek hat sich zum Standardwerkzeug für das Schreiben von Tests in Python entwickelt. Sie ist so benutzerfreundlich, dass Sie sie für Ihre ersten Tests verwenden können; und wenn Sie eine Karriere als Python-Programmierer anstreben, werden Sie sie auch im professionellen Umfeld einsetzen.

Das Projekt

Alien Invasion

in den

Kapiteln 12

14

enthält eine Einstellung zur Steuerung der Bildwiederholrate, die dafür sorgt, dass das Spiel auf verschiedenen Betriebssystemen gleichmäßig läuft. Für den Aufbau der Alien-Flotte wird ein einfacherer Ansatz verwendet, und auch die Gesamtorganisation des Projekts wurde aufgeräumt.

Die Datenvisualisierungsprojekte in den

Kapiteln 15

17

verwenden die neuesten Funktionen von Matplotlib und Plotly. Die Matplotlib-Visualisierungen verfügen über aktualisierte Style-Einstellungen. Das Random-Walk-Projekt weist eine kleine Verbesserung auf, die die Genauigkeit der Diagramme erhöht, was bedeutet, dass Sie bei jedem neuen Durchlauf eine größere Vielfalt an Mustern sehen. Alle Projekte mit Plotly verwenden jetzt das Modul Plotly Express, mit dem Sie Ihre ersten Visualisierungen mit nur wenigen Zeilen Code erstellen können. Sie können ganz einfach eine Vielzahl von Visualisierungen ausprobieren, bevor Sie sich auf eine Art von Plot festlegen, und sich dann auf die Verfeinerung einzelner Elemente dieses Plots konzentrieren.

Das Projekt Learning Log in den

Kapiteln 18

20

wurde mit der neuesten Version von Django erstellt und mit der neuesten Version von Bootstrap gestylt. Einige Teile des Projekts wurden umbenannt, um die Gesamtorganisation des Projekts leichter nachvollziehen zu können. Das Projekt wird jetzt auf

Platform.sh

bereitgestellt, einem modernen Hosting-Service für Django-Projekte. Der Bereitstellungsprozess wird durch YAML-Konfigurationsdateien gesteuert, die Ihnen eine große Gestaltungsfreiheit geben, wie Ihr Projekt bereitgestellt wird. Dieser Ansatz steht im Einklang mit der Art und Weise, wie professionelle Programmierer moderne Django-Projekte bereitstellen.

Anhang A

wurde vollständig aktualisiert, um aktuelle Methoden für die Installation von Python auf allen wichtigen Betriebssystemen zu empfehlen.

Anhang B

enthält eine detaillierte Anleitung zum Einrichten von VS Code und kurze Beschreibungen der wichtigsten Texteditoren und IDEs, die derzeit verwendet werden.

Anhang C

verweist die Leser auf einige der beliebtesten Onlineressourcen, um Hilfe zu erhalten.

Anhang D

bietet weiterhin einen Mini-Crashkurs in der Verwendung von Git für die Versionskontrolle.

Anhang E

ist ganz neu in der dritten Auflage. Selbst mit einer guten Anleitung für die Bereitstellung der von Ihnen erstellten Anwendungen können viele Dinge schiefgehen. Dieser

Anhang

bietet eine detaillierte Anleitung zur Fehlerbehebung, die Sie verwenden können, wenn der Bereitstellungsprozess nicht auf Anhieb funktioniert. Der Index wurde gründlich überarbeitet und ermöglicht es Ihnen, dieses Buch auch als Nachschlagewerk für Ihre zukünftigen Python-Projekte zu verwenden.

Vielen Dank dafür, dass Sie Python Crashkurs lesen! Wenn Sie irgendwelche Rückmeldungen oder Fragen an mich haben, können Sie sich gern an mich wenden, auf Twitter bin ich @ehmatthes.

Einleitung

Jeder Programmierer kann Ihnen erzählen, wie er gelernt hat zu programmieren und sein erstes Programm geschrieben hat. Ich habe als Kind damit angefangen, als mein Vater für die Digital Equipment Corporation arbeitete, einem der bahnbrechenden Unternehmen des modernen Computerzeitalters. Mein erstes Programm schrieb ich auf einem Computer aus einem Bausatz, den mein Vater im Keller zusammengebastelt hatte. Er bestand lediglich aus einem nackten Motherboard mit einer Tastatur und einer Bildröhre als Monitor. Mein erstes Programm war ein einfaches Zahlenratespiel, das wie folgt ablief:

Ich habe mir eine Zahl ausgedacht! Versuche sie zu erraten: 25

Zu niedrig! Versuche es noch einmal: 50

Zu hoch! Versuche es noch einmal: 42

Richtig! Möchtest du noch einmal spielen? (ja/nein) nein

Danke fürs Spielen!

Ich werde nie vergessen, wie stolz ich war, dass meine Familie ein Spiel spielte, das ich selbst geschrieben hatte und das tatsächlich so funktionierte wie beabsichtigt.

Diese erste Erfahrung hatte eine bleibende Wirkung auf mich. Es ist sehr befriedigend, etwas zu erschaffen, das einen Zweck erfüllt oder ein Problem löst. Heute schreibe ich Software, die wichtigere Bedürfnisse erfüllt als mein Programm aus Kindertagen, aber die Befriedigung, die ich daraus gewinne, ist immer noch die gleiche.

Zielgruppe

Dieses Buch soll Sie so schnell wie möglich mit Python vertraut machen, sodass Sie eigene Programme schreiben können – beispielsweise Spiele, Datenvisualisierungen und Webanwendungen –, es soll Ihnen aber außerdem auch Grundkenntnisse in Programmierung vermitteln, die Ihnen bei der Verwendung anderer Sprachen von Nutzen sind. Es richtet sich an Leser aller Altersgruppen, die noch nie in Python oder überhaupt noch nie programmiert haben. Wenn Sie die Grundlagen der Programmierung schnell erlernen wollen, sodass Sie sich interessanten Projekten zuwenden können, und wenn Sie Ihre neu erworbenen Kenntnisse an praxisnahen Problemen erproben wollen, so ist dies das richtige Buch für Sie. Es ist auch ideal für Lehrer der Sekundarstufe geeignet, die ihren Schülern eine projektbezogene Einführung in die Programmierung geben wollen. Wenn Sie einen Hochschulkurs besuchen und sich eine benutzerfreundlichere Einführung in Python wünschen als mit den dort behandelten Texten, kann Ihnen dieses Buch auch helfen, in diesem Kurs besser zurechtzukommen. Wenn Sie sich beruflich verändern wollen, kann Ihnen der Python-Crashkurs helfen, den Wechsel zu einer erfüllenderen beruflichen Laufbahn zu vollziehen. Er hat sich für eine Vielzahl von Lesern mit den unterschiedlichsten Zielen bewährt.

Lernstoff

Dieses Buch soll Sie zu einem guten Programmierer im Allgemeinen und zu einem guten Python-Programmierer im Besonderen machen. Während ich Ihnen eine solide Grundlage in allgemeinen Programmierprinzipien gebe, eignen Sie sich auch gute Programmiergewohnheiten an. Nachdem Sie dieses Buch durchgearbeitet haben, sind Sie bereit, sich fortgeschrittenen Python-Techniken zuzuwenden, und können auch andere Programmiersprachen leichter erlernen.

Im ersten Teil dieses Buches lernen Sie grundlegende Programmierprinzipien kennen und erfahren, wie Sie Python-Programme schreiben. Diese Prinzipien sind die gleichen, die Sie auch bei fast allen anderen Programmiersprachen befolgen müssen. Sie lernen, welche verschiedenen Arten von Daten es gibt, wie Sie sie in Listen und Dictionaries speichern und wie Sie solche Zusammenstellungen von Daten rationell abarbeiten. Außerdem erfahren Sie, wie Sie mit while-Schleifen und if-Anweisungen dafür sorgen, dass je nachdem, welche Umstände vorliegen, unterschiedliche Codeblöcke ausgeführt werden, was eine wichtige Grundlage für die Automatisierung von Vorgängen ist.

Sie lernen, wie Sie Eingaben von Benutzern entgegennehmen, um Ihre Programme interaktiv zu machen; wie Sie die Programme so lange am Laufen halten, wie der Benutzer es wünscht; wie Sie Funktionen erstellen, um Teile Ihrer Programme wiederverwenden zu können, sodass Sie einen Codeblock für eine bestimmte Funktion nur einmal schreiben müssen und dann so oft ausführen können, wie Sie wollen; wie Sie dieses Prinzip mithilfe von Klassen auf komplexere Verhaltensweisen ausdehnen, sodass relativ einfache Programme auf viele verschiedene Situationen reagieren können; und wie Sie dafür sorgen, dass Ihre Programme mit auftretenden Fehlern umgehen können. Nachdem Sie all diese Grundlagen gründlich durchgearbeitet haben, schreiben Sie in der Komplexität gesteigerte Programme, die auf dem Gelernten aufbauen. Schließlich unternehmen Sie auch einen ersten Schritt auf dem Weg zum fortgeschrittenen Anfänger, indem Sie Tests für Ihren Code schreiben, sodass Sie Ihre Programme weiterentwickeln können, ohne befürchten zu müssen, dabei Fehler einzuführen. Alles, was Sie in Teil I lernen, bereitet Sie darauf vor, umfangreiche, anspruchsvolle Projekte durchzuführen.

In Teil II wenden Sie das, was Sie in Teil I gelernt haben, in drei großen Projekten an. Sie können diese Projekte in der Reihenfolge angehen, die Ihnen am besten liegt. Im ersten Projekt (Kapitel 12 bis 14) erstellen Sie ein stark an Space Invaders angelehntes Ballerspiel namens Alien Invasion mit Levels von immer höherem Schwierigkeitsgrad. Wenn Sie dieses Projekt durchgearbeitet haben, sind Sie gut gerüstet, um eigene 2D-Spiele zu entwickeln. Auch wenn Sie nicht vorhaben, Spieleprogrammierer zu werden, ist die Arbeit an diesem Projekt eine unterhaltsame Möglichkeit, vieles von dem, was Sie in Teil I gelernt haben, zu vertiefen.

Im zweiten Projekt (Kapitel 15 bis 17) geht es um Datenvisualisierung. Datenforscher versuchen mittels verschiedenster Visualisierungsverfahren, die Unmengen an Informationen, die ihnen zur Verfügung stehen, zu deuten. In diesen Kapiteln arbeiten Sie mit Datenmengen, die Sie durch Code erzeugen, aus Onlinequellen herunterladen oder automatisch von Ihren Programmen herunterladen lassen. Nachdem Sie dieses Projekt durchgearbeitet haben, können Sie eigene Programme schreiben, die große Datenmengen durchforsten und grafische Darstellungen der unterschiedlichsten darin gespeicherten Informationen erstellen.

Im dritten Projekt (Kapitel 18 bis 20) richten Sie eine kleine Webanwendung namens Learning Log ein, mit der es möglich ist, ein organisiertes Tagebuch mit Informationen über Erlerntes zu einem bestimmten Thema zu führen. Sie erfahren hier, wie Sie getrennte Tagebücher für unterschiedliche Fachgebiete führen und wie Sie anderen Benutzern gestatten, ein Konto anzulegen und ihre eigenen Tagebücher zu schreiben. Außerdem lernen Sie, das Projekt öffentlich bereitzustellen, sodass es überall online zugänglich ist.

Onlinematerial

No Starch Press bietet weitere Informationen zu diesem Buch online unter https://nostarch.com/python-crash-course-3rd-edition an. Ich unterhalte auch eine umfangreiche Sammlung von ergänzenden Ressourcen unter https://ehmatthes.github.io/pcc_3e. Zu diesen Ressourcen gehören die folgenden:

Anleitungen zur EinrichtungDiese Onlineanleitungen sind identisch mit denjenigen in diesem Buch, enthalten aber Links zu allen einzelnen Teilen. Schauen Sie hier nach, wenn Sie Probleme bei der Einrichtung haben.

AktualisierungenPython wird ebenso wie andere Sprachen ständig weiterentwickelt. Ich pflege einen umfangreichen Satz von Aktualisierungen. Sollte also irgendwelcher Code nicht funktionieren, so schauen Sie hier nach, ob sich Anweisungen geändert haben.

Lösungen zu den ÜbungenWenn Sie sich an den Übungen in den Abschnitten mit dem Titel »Probieren Sie es selbst aus!« versuchen, sollten Sie sich zunächst ausreichend Zeit nehmen, um sie selbstständig zu bearbeiten. Sollten Sie aber wirklich nicht mehr weiterwissen, können Sie zu den meisten dieser Übungen Lösungen online nachschlagen.

SpickzettelAuch ein ganzer Satz von Spickzetteln zum Herunterladen steht online zur Verfügung. Sie sind zum schnellen Nachschlagen aller wichtigen Prinzipien geeignet.

Warum Python?

Jedes Jahr überlege ich, ob ich weiterhin Python verwenden oder auf eine andere Programmiersprache umsteigen soll, vielleicht eine neuere, bleibe aber jedes Mal bei Python, und das aus vielen Gründen. Python ist eine unglaublich effiziente Sprache: Python-Programme können in weniger Zeilen mehr erledigen, als das bei anderen Programmiersprachen der Fall ist. Die Syntax von Python hilft Ihnen auch, »sauberen« Code zu schreiben, der sich leicht lesen, leicht korrigieren und leicht erweitern lässt.

Python wird für viele Zwecke eingesetzt: für Spiele, für Webanwendungen, zum Lösen von Problemen in der Geschäftswelt und zur Entwicklung interner Werkzeuge für alle möglichen Arten von Unternehmen. Auch in Wissenschaft und Forschung ist Python stark vertreten.

Einer der wichtigsten Gründe dafür, dass ich bei Python bleibe, ist die Python-Community, der sehr unterschiedliche und sehr offene Menschen angehören. Die Community ist für das Programmieren außerordentlich wichtig, da Programmierung keine Aufgabe für Einzelkämpfer ist. Selbst die erfahrensten Programmierer brauchen hin und wieder Rat von anderen, die bereits ähnliche Probleme gelöst haben. Eine gut vernetzte und hilfsbereite Community ist zur Problemlösung unverzichtbar, und die Python-Community hilft sowohl Menschen wie Ihnen, die Python als erste Programmiersprache lernen, gern weiter, als auch jenen, die bereits Kenntnisse einer anderen Programmiersprache haben und auf Python umsteigen.

Python ist eine großartige Sprache. Beginnen wir also damit, sie zu erlernen!

Teil 1

Grundlagen

In Teil I dieses Buches lernen Sie die Grundlagen kennen, die Sie zum Schreiben von Python-Programmen benötigen. Viele dieser Prinzipien sind in allen Programmiersprachen gleich, sodass diese Kenntnisse Ihnen auch in Ihrem weiteren Leben als Programmierer helfen.

In Kapitel 1 installieren Sie Python auf Ihrem Computer und führen Ihr erstes Programm aus, das die Meldung Hello World! auf dem Bildschirm ausgibt.

In Kapitel 2 lernen Sie, wie Sie Informationen Variablen zuweisen, und arbeiten sowohl mit Text- als auch mit numerischen Werten.

Die Kapitel 3 und 4 geben eine Einführung in Listen. Damit können Sie in einer Variablen so viele Informationen speichern, wie Sie wollen, was einen wirtschaftlicheren Umgang mit den Daten ermöglicht. Mit nur wenigen Codezeilen können Sie Hunderte, Tausende und sogar Millionen Werte verarbeiten.

In Kapitel 5 verwenden Sie if-Anweisungen, damit Ihr Code, je nachdem, ob bestimmte Bedingungen erfüllt sind oder nicht, auf unterschiedliche Weise reagiert.

Kapitel 6 zeigt Ihnen, wie Sie Dictionaries nutzen, in denen Sie Informationen miteinander verknüpfen können. Ebenso wie Listen können Dictionaries so viele Informationen enthalten, wie Sie speichern möchten.

In Kapitel 7 erfahren Sie, wie Sie Eingaben von Benutzern entgegennehmen, um Ihre Programme interaktiv zu gestalten. Außerdem lernen Sie while-Schleifen kennen, mit denen Sie Codeblöcke wiederholt ausführen können, solange bestimmte Bedingungen wahr sind.

In Kapitel 8 schreiben Sie Funktionen. Dabei handelt es sich um benannte Codeblöcke, die fest umrissene Aufgaben erledigen und überall dort ausgeführt werden können, wo Sie sie brauchen.

Kapitel 9 gibt eine Einführung in Klassen, mit denen Sie Objekte aus der Realität wie Hunde, Katzen, Menschen, Autos, Raketen usw. modellieren können. Dadurch kann Ihr Code jeden realen oder abstrakten Gegenstand darstellen.

Kapitel 10 zeigt Ihnen, wie Sie mit Dateien arbeiten und Fehler abfangen, damit Ihr Programm nicht abstürzt. Sie können Daten speichern, bevor Ihr Programm beendet wird, und diese bei einer erneuten Ausführung des Programms wieder einlesen. Außerdem lernen Sie die Einrichtung von Ausnahmen kennen, mit denen Sie Fehler vorhersehen können und die dafür sorgen, dass das Programm die Fehler elegant handhabt.

In Kapitel 11 lernen Sie, wie Sie Tests für Ihren Code schreiben, um zu prüfen, ob Ihre Programme wie beabsichtigt funktionieren. Dadurch können Sie Ihre Programme erweitern, ohne Angst haben zu müssen, neue Fehler einzuführen. Ihren Code testen zu können ist eine der grundlegenden Fähigkeiten, um vom Programmieranfänger zum Fortgeschrittenen aufzusteigen.

1

Erste Schritte

In diesem Kapitel schreiben Sie Ihr erstes Python-Programm, hello_world.py. Zunächst müssen Sie sich jedoch vergewissern, ob Python auf Ihrem Computer bereits vorhanden ist. Falls das nicht der Fall sein sollte, müssen Sie es installieren. Außerdem müssen Sie einen Texteditor installieren, in dem Sie Ihre Python-Programme schreiben und bearbeiten. Die Texteditoren, um die es hier geht, können Python-Code erkennen und verschiedene Abschnitte kennzeichnen, was es leichter macht, einen Überblick über die Struktur des Codes zu behalten.

Die Programmierumgebung einrichten

Je nach Betriebssystem kann Python leicht abweichende Eigenschaften aufweisen, über die Sie sich im Klaren sein müssen. In den folgenden Abschnitten sehen wir uns an, was Sie tun müssen, um Python auf Ihrem System korrekt zu installieren.

Python-Versionen

Programmiersprachen entwickeln sich weiter, wenn neue Konzepte und neue Technologien aufkommen. Die Entwickler von Python haben die Sprache im Laufe der Zeit vielseitiger und leistungsfähiger gemacht. Während ich diese Zeilen schreibe, ist Python 3.11 die neueste Version, allerdings funktioniert der gesamte in diesem Buch vorgestellte Code auch mit Python 3.9 und höher. In diesem Abschnitt erfahren Sie, wie Sie herausfinden, ob Python bereits auf Ihrem System installiert ist bzw. ob Sie eine neuere Version brauchen. In Anhang A erhalten Sie außerdem zusätzliche Informationen zur Installation der neuesten Version von Python auf allen wichtigen Betriebssystemen.

Python-Codeausschnitte ausführen

Mit dem Python-Interpreter, der in einem Terminalfenster läuft, können Sie einzelne Teile von Python-Code ausführen, ohne ein komplettes Programm speichern und starten zu müssen.

In diesem Buch werden Sie immer wieder Codeausschnitte wie den folgenden sehen:

❶ >>> print("Hello Python interpreter!")

Hello Python interpreter!

Die Eingabeaufforderung mit den drei spitzen Klammern ( >>>) besagt, dass Sie das Terminalfenster verwenden sollten, und der fettgedruckte Text ist der Code, den Sie eingeben. Um ihn auszuführen, drücken Sie die Eingabetaste. Die meisten Beispiele in diesem Buch sind jedoch kleine, eigenständige Programme, die Sie nicht im Terminal, sondern im Texteditor laufen lassen, weil Sie dort den Großteil des Codes schreiben werden. Um Grundprinzipien vorzuführen, zeige ich Ihnen manchmal jedoch auch Codeausschnitte, die in einer Python-Terminalsitzung ausgeführt werden, weil sich die verschiedenen grundlegenden Fälle dadurch besser demonstrieren lassen. Wenn Sie in einem Codelisting drei spitze Klammern sehen (❶), wissen Sie, dass Sie es mit der Ausgabe einer Terminalsitzung zu tun haben. Mit dem Codieren im Interpreter werden wir in Kürze beginnen.

Wir werden allerdings auch einen Texteditor einsetzen, um ein einfaches Programm namens Hello World! zu erstellen, das zum Erlernen der Programmierung einfach dazugehört. Unter Programmierern herrscht seit langer Zeit die Meinung vor, dass es Glück bringt, wenn man mit dem ersten Programm in einer neuen Sprache die Meldung »Hello World!« auf dem Bildschirm ausgibt. Solch ein einfaches Programm hat tatsächlich einen Zweck. Wenn es auf Ihrem System korrekt ausgeführt wird, wissen Sie, dass im Prinzip auch jedes andere Python-Programm laufen kann.

Der Editor VS Code

VS Code ist ein leistungsstarker, professioneller Texteditor, der gratis und anfängerfreundlich ist. VS Code eignet sich sowohl für einfache als auch für komplexe Projekte. Wenn Sie sich also beim Erlernen von Python mit dem Editor vertraut machen, können Sie ihn auch bei größeren und komplizierteren Projekten weiter verwenden. VS Code kann auf allen modernen Betriebssystemen installiert werden und unterstützt die meisten Programmiersprachen, einschließlich Python.

Anhang B enthält Informationen über weitere Texteditoren. Wenn Sie neugierig sind, was es noch alles an Möglichkeiten gibt, können Sie jetzt einen Blick in den Anhang werfen. Wollen Sie dagegen schnell mit dem Programmieren beginnen, fangen Sie einfach mit VS Code an und schauen sich erst dann nach anderen Editoren um, wenn Sie etwas Erfahrung gewonnen haben. In diesem Kapitel zeige ich Ihnen, wie Sie VS Code auf Ihrem Betriebssystem installieren.

Hinweis

Wenn Sie bereits einen Texteditor installiert haben und wissen, wie Sie ihn für die Ausführung von Python-Programmen konfigurieren, können Sie stattdessen natürlich auch diesen verwenden.

Python auf verschiedenen Betriebssystemen

Python ist eine plattformübergreifende Programmiersprache, läuft also auf allen wichtigen Betriebssystemen. Jedes Python-Programm, das Sie schreiben, kann auf jedem modernen Computer ausgeführt werden, auf dem Python installiert ist. Wie Sie Python selbst einrichten, hängt jedoch jeweils vom Betriebssystem ab.

In diesem Abschnitt erfahren Sie, wie Sie auf Ihrem System Python einrichten. Als Erstes prüfen Sie, ob eine neuere Version von Python auf Ihrem Computer installiert ist, und holen die Installation nach, wenn das noch nicht der Fall ist. Anschließend installieren Sie VS Code. Nur zwei Schritte dieses Vorgangs sind bei jedem Betriebssystem unterschiedlich.

In den darauffolgenden Abschnitten führen Sie hello_world.py aus. Falls ein Fehler aufgetreten ist, machen Sie sich außerdem auf die Suche nach der Ursache. Diese Vorgehensweise zur Einrichtung einer anfängerfreundlichen Python-Programmierumgebung führe ich Ihnen für jedes der wichtigen Betriebssysteme vor.

Python unter Windows

Python ist auf Windows-Computern normalerweise nicht im Lieferumfang enthalten, weshalb Sie es wahrscheinlich erst installieren müssen. Danach benötigen Sie noch VS Code.

Python installieren

Prüfen Sie als Erstes, ob Python auf Ihrem System installiert ist. Dazu öffnen Sie eine Eingabeaufforderung, indem Sie im Startmenü cmd eingeben oder indem Sie bei gedrückter -Taste auf den Desktop rechtsklicken und Eingabeaufforderung auswählen. Geben Sie an der Eingabeaufforderung python in Kleinbuchstaben ein. Wenn daraufhin eine Python-Eingabeaufforderung (>>>) erscheint, ist Python auf Ihrem System installiert. Sollten Sie dagegen die Fehlermeldung erhalten, dass der Befehl python nicht gefunden werden konnte oder wenn sich der Microsoft Store öffnet, ist Python noch nicht installiert. Schließen Sie den Microsoft Store, wenn er sich öffnet; es ist besser, ein offizielles Installationsprogramm herunterzuladen, als die Version von Microsoft zu verwenden.

In diesem Fall – oder falls Sie eine ältere Version als Python 3.9 haben – müssen Sie den Python-Installer für Windows herunterladen. Besuchen Sie https://python.org/. Wenn Sie den Mauszeiger über den Menüpunkt Downloads halten, wird eine Schaltfläche zum Herunterladen der neuesten Version eingeblendet. Wenn Sie darauf klicken, wird automatisch der passende Installer für Ihr System heruntergeladen. Nachdem der Download abgeschlossen ist, führen Sie den Installer aus. Aktivieren Sie die Option Add Python to PATH, um sich die Konfiguration des Systems zu erleichtern (siehe Abb. 1–1).

Abb. 1–1Aktivieren Sie das Kontrollkästchen Add Python to PATH.

Python in einer Terminalsitzung ausführen

Öffnen Sie eine neue Eingabeaufforderung und geben Sie python in Kleinbuchstaben ein. Wenn Sie die Python-Eingabeaufforderung (>>>) sehen, hat Windows die zuvor installierte Python-Version gefunden:

C:\> python

Python 3.x.x (mein, Jun . . ., 13:29:14) [MSC v.1932 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>>

Hinweis

Wenn Sie diese (oder eine ähnliche) Ausgabe nicht sehen sollten, schlagen Sie die ausführlichere Anleitung zur Einrichtung in Anhang A nach.

Geben Sie in Ihrer Python-Sitzung folgende Zeile ein und vergewissern Sie sich, dass tatsächlich Hello Python interpreter! ausgegeben wird:

>>> print("Hello Python interpreter!")

Hello Python interpreter!

>>>

Sie sollten jetzt die Ausgabe Hello Python interpreter! sehen. Wenn Sie einen Python-Codeausschnitt ausführen wollen, öffnen Sie eine Eingabeaufforderung und starten eine Python-Terminalsitzung. Um diese Sitzung wieder zu beenden, drücken Sie und dann die Eingabetaste oder geben den Befehl exit() ein.

VS Code installieren

Sie können ein Installationspaket für VS Code unter https://code.visualstudio.com herunterladen. Klicken Sie auf die Schaltfläche Download für Windows und führen Sie das Installationsprogramm aus. Überspringen Sie die folgenden Abschnitte über macOS und Linux und folgen Sie den Schritten unter »Das Hello-World-Programm ausführen« auf Seite 11.

Python unter macOS

Python ist auf den aktuellen Versionen von macOS nicht standardmäßig installiert, Sie müssen es also nachinstallieren, wenn Sie es nicht schon getan haben. In diesem Abschnitt installieren Sie die neueste Version von Python, dann VS Code und prüfen, ob es richtig konfiguriert ist.

Hinweis

Python 2 war in älteren Versionen von macOS vorhanden, aber es ist eine veraltete Version, die Sie nicht verwenden sollten.

Ist Python 3 installiert?

Öffnen Sie über Gehe zu > Dienstprogramme > Terminal ein Terminalfenster. Alternativ können Sie auch drücken, terminal eingeben und dann die Eingabetaste drücken. Geben Sie python3 ein, um festzustellen, ob Sie eine hinreichend aktuelle Version von Python installiert haben. Höchstwahrscheinlich werden Sie eine Meldung zur Installation der Entwicklerwerkzeuge für die Kommandozeile erhalten. Es ist besser, diese Werkzeuge nach der Installation von Python zu installieren. Wenn diese Meldung erscheint, schließen Sie das Pop-up-Fenster. Wenn die Ausgabe zeigt, dass Sie Python 3.9 oder eine neuere Version installiert haben, können Sie den nächsten Abschnitt überspringen und mit Python in einer Terminalsitzung ausführen fortfahren. Wenn Sie eine frühere Version als Python 3.9 sehen, folgen Sie den Anweisungen im nächsten Abschnitt, um die neueste Version zu installieren. Beachten Sie, dass Sie unter macOS, wann immer Sie in diesem Buch den Befehl python sehen, stattdessen den Befehl python3 verwenden müssen, um sicherzustellen, dass Sie Python 3 benutzen. Auf den meisten macOS-Systemen verweist der python-Befehl entweder auf eine veraltete Version von Python, die nur von internen Systemwerkzeugen verwendet werden sollte, oder er verweist auf gar nichts und erzeugt eine Fehlermeldung.

Die neueste Version von Python installieren

Einen Python-Installer für Ihr System finden Sie auf https://python.org/. Wenn Sie den Mauszeiger über den Menüpunkt Downloads halten, wird eine Schaltfläche zum Herunterladen der neuesten Version von Python eingeblendet. Wenn Sie darauf klicken, wird automatisch der passende Installer für Ihr System heruntergeladen. Nachdem der Download abgeschlossen ist, führen Sie den Installer aus.

Wenn das Installationsprogramm ausgeführt wurde, sollte ein Finder-Fenster erscheinen. Doppelklicken Sie auf die Datei Install Certificates.command. Wenn Sie diese Datei ausführen, können Sie leichter zusätzliche Bibliotheken installieren, die Sie für spätere Projekte benötigen, einschließlich der Projekte in der zweiten Hälfte dieses Buchs.

Python in einer Terminalsitzung ausführen

Sie können jetzt versuchen, Python-Codeausschnitte auszuführen, indem Sie ein neues Terminalfenster öffnen und python3 eingeben.

$ python3Python 3.x.x (v3.11.0:eb0004c271, Jun . . . , 10:03:01)

[Clang 13.0.0 (clang-1300.0.29.30)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>>

Dieser Befehl startet eine Python-Terminalsitzung. Sie sollten eine Python-Eingabeaufforderung (>>>) sehen, was bedeutet, dass macOS die Python-Version gefunden hat, die Sie gerade installiert haben.

Probieren Sie das mit folgender Zeile aus:

>>> print("Hello Python interpreter!")

Hello Python interpreter!

>>>

Die Meldung Hello Python interpreter! wird unmittelbar im aktuellen Terminalfenster ausgegeben. Um den Python-Interpreter wieder zu schließen, drücken Sie oder geben den Befehl exit() ein.

Hinweis

Auf neueren macOS-Systemen sehen Sie ein Prozentzeichen (%) als Terminal-Eingabeaufforderung anstelle eines Dollarzeichens ($).

VS Code installieren

Um den VS-Code-Editor zu installieren, müssen Sie das Installationsprogramm unter https://code.visualstudio.com herunterladen. Klicken Sie auf die Schaltfläche Download, öffnen Sie dann ein Finder-Fenster und gehen Sie zum Ordner Downloads. Ziehen Sie das Installationsprogramm für Visual Studio Code in Ihren Anwendungsordner und doppelklicken Sie dann darauf, um es auszuführen. Überspringen Sie den folgenden Abschnitt über Python unter Linux und folgen Sie den Schritten unter »Das Hello-World-Programm ausführen« auf Seite 11.

Python unter Linux

Linux-Systeme sind für die Programmierung ausgelegt, weshalb Python auf den meisten Linux-Computern schon installiert ist. Die Personen, die Linux schreiben und pflegen, gehen davon aus, dass Sie irgendwann selbst etwas programmieren, und ermutigen Sie dazu. Daher müssen Sie nicht mehr viel installieren und nur einige wenige Einstellungen ändern, um mit dem Programmieren beginnen zu können.

Die Python-Version herausfinden

Führen Sie die Anwendung Terminal aus, um ein Terminalfenster zu öffnen (in Ubuntu können Sie dazu klicken). Um herauszufinden, ob Python installiert ist, geben Sie python3 (mit kleinem p) ein. Die Ausgabe zeigt Ihnen auch gleich, welche Version von Python installiert ist. Außerdem erhalten Sie die Eingabeaufforderung >>>, an der Sie direkt damit beginnen können, Python-Befehle einzugeben, so wie hier:

$ python3

$ python3Python 3.10.4 (main, Apr . . . , 09:04:19) [GCC 11.2.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>

Laut dieser Ausgabe ist auf dem Computer Python 3.10.4 als Standardversion von Python installiert. Um von der Python-Aufforderung zur normalen Terminal-Eingabeaufforderung zurückzukehren, drücken Sie oder geben exit() ein. An allen Stellen, an denen in diesem Buch der Befehl python angegeben ist, müssen Sie jedoch python3 eingeben.

Um den Code in diesem Buch auszuführen, benötigen Sie Python 3.9 oder höher. Ist auf Ihrem System nur eine ältere Version als Python 3.9 vorhanden, oder wenn Sie auf dem aktuellen Stand sein möchten, installieren Sie die neueste Version nach der Anleitung aus Anhang A.

Python in einer Terminalsitzung ausführen

Einzelne Python-Codeausschnitte können Sie auch dadurch ausführen, dass Sie ein Terminal öffnen und wie bei der Versionsprüfung python3 eingeben. Geben Sie diesmal aber an der Eingabeaufforderung folgende Zeile ein:

>>> print("Hello Python interpreter!")

Hello Python interpreter!

>>>

Ihre Meldung wird unmittelbar im aktuellen Terminalfenster ausgegeben. Um den Python-Interpreter wieder zu schließen, drücken Sie oder geben den Befehl exit() ein.

VS Code installieren

Unter Ubuntu Linux können Sie VS Code über das Ubuntu Software Center installieren. Klicken Sie auf das Ubuntu-Software-Symbol und suchen Sie nach vs-code. Klicken Sie auf die Anwendung Visual Studio Code (manchmal auch Code genannt), und klicken Sie dann auf Installieren. Sobald sie installiert ist, suchen Sie auf Ihrem System nach VS Code und starten Sie die Anwendung.

Das Hello-World-Programm ausführen

Nachdem Sie die jüngsten Versionen von Python und VS Code installiert haben, sind Sie schon fast so weit, ein erstes im Texteditor geschriebenes Python-Programm auszuführen. Zuvor allerdings müssen Sie noch dafür sorgen, dass die Python-Erweiterung für VS Code installiert ist.

Die Python-Erweiterung für VS Code installieren

VS Code funktioniert mit vielen verschiedenen Programmiersprachen, aber um als Python-Programmierer das meiste aus ihm herauszuholen, müssen Sie die Python-Erweiterung installieren. Diese Erweiterung bietet Unterstützung für das Schreiben, Bearbeiten und Ausführen von Python-Programmen.

Um die Python-Erweiterung zu installieren, klicken Sie auf das Symbol Verwalten, das wie ein Zahnrad unten links in der VS-Code-App aussieht. Klicken Sie in dem eingeblendeten Menü auf Erweiterungen. Geben Sie python in das Suchfeld ein und klicken Sie auf die Python-Erweiterung. (Wenn Sie mehr als eine Erweiterung mit dem Namen Python sehen, wählen Sie die von Microsoft angebotene.) Klicken Sie auf Installieren und installieren Sie alle zusätzlichen Tools, die Ihr System benötigt, um die Installation abzuschließen. Wenn Sie eine Meldung sehen, dass Sie Python installieren müssen, dies aber bereits getan haben, können Sie diese Meldung ignorieren.

Hinweis

Wenn Sie macOS verwenden und ein Pop-up-Fenster Sie auffordert, die Kommandozeilen-Entwicklerwerkzeuge zu installieren, klicken Sie auf Installieren. Möglicherweise wird eine Meldung angezeigt, dass die Installation übermäßig lange dauert, aber bei einer normalen Internetverbindung sollte sie nur etwa 10 bis 20 Minuten dauern.

Hello_world.py ausführen

Bevor Sie Ihr erstes Programm schreiben, legen Sie zunächst irgendwo auf Ihrem Schreibtisch den Ordner python_work für Ihre Projekte an. Es ist am besten, nur Kleinbuchstaben zu verwenden und die Namensbestandteile mit Unterstrichen statt mit Leerzeichen voneinander abzusetzen, da dies der Konvention von Python entspricht.

Öffnen Sie VS Code und schließen Sie die Registerkarte Get Started, falls sie noch geöffnet ist. Erstellen Sie eine neue Datei, indem Sie auf Datei, Neue Datei klicken oder drücken ( unter macOS). Speichern Sie die Datei unter dem Namen hello_world.py in Ihrem Ordner python_work. Die Dateierweiterung .py sagt VS Code, dass Ihre Datei in Python geschrieben ist, und teilt ihm mit, wie es das Programm ausführen und den Text auf hilfreiche Weise hervorheben soll. Nachdem Sie Ihre Datei gespeichert haben, geben Sie die folgende Zeile in den Editor ein:

hello_world.py

print("Hello Python world!")

Um Ihr Programm auszuführen, wählen Sie Run, Run without Debugging oder drücken Sie . Am unteren Rand des VS-Code-Fensters sollte ein Terminalfenster erscheinen, das die Ausgabe Ihres Programms anzeigt:

Hello Python world!

Sie werden wahrscheinlich einige zusätzliche Meldungen sehen, die den Python-Interpreter angeben, der zur Ausführung Ihres Programms verwendet wurde. Wenn Sie die angezeigten Informationen vereinfachen möchten, damit Sie nur die Ausgabe Ihres Programms sehen, lesen Sie Anhang B. Dort finden Sie auch hilfreiche Vorschläge, wie Sie VS Code effizienter nutzen können.

Wenn Sie diese Ausgabe nicht sehen, ist irgendetwas in dem Programm schiefgelaufen. Prüfen Sie jedes einzelne Zeichen in der eingegebenen Zeile. Haben Sie print versehentlich mit großem P geschrieben? Haben Sie ein Anführungszeichen oder eine Klammer vergessen? Programmiersprachen erwarten eine ganz bestimmte Syntax, und wenn Sie diesen Erwartungen nicht nachkommen, ergibt sich ein Fehler. Wenn Sie das Programm nicht zum Laufen bekommen, schlagen Sie im nächsten Abschnitt nach.

Fehlersuche

Falls Sie jedoch nicht in der Lage sind, hello_world.py auszuführen, sollten Sie folgende Abhilfemaßnahmen ausprobieren:

Wenn ein Programm einen schweren Fehler enthält, durchsucht Python die Datei und meldet das Problem, indem es eine

Rückverfolgung

(

Traceback

) anzeigt. Darin können Sie einen Hinweis darauf finden, was die Ausführung des Programms verhindert.

Legen Sie eine Pause ein (und verbringen Sie sie nicht am Computer). Versuchen Sie es dann noch einmal. Denken Sie daran, dass die Syntax in der Programmierung von entscheidender Bedeutung ist. Schon so etwas Einfaches wie ein falsches Anführungszeichen oder Klammern können verhindern, dass ein Programm korrekt ausgeführt wird. Lesen Sie die entsprechenden Abschnitte in diesem Kapitel noch einmal, schauen Sie sich an, was Sie geschrieben haben, und versuchen Sie, den Fehler herauszufinden.

Fangen Sie noch einmal von vorn an. Es ist dabei wahrscheinlich nicht erforderlich, irgendetwas zu deinstallieren, aber es ist sinnvoll, die Datei

hello_world.py

zu löschen und neu zu erstellen.

Bitten Sie jemanden, die in diesem Kapitel aufgeführten Schritte auf Ihrem Computer oder auf einem anderen Rechner zu wiederholen, und beobachten Sie genau, was diese andere Person tut. Möglicherweise haben Sie nur einen kleinen Schritt ausgelassen.

Sehen Sie sich die zusätzlichen Installationshinweise in

Anhang A

an. Einige der im

Anhang

enthaltenen Informationen können Ihnen helfen, Ihr Problem zu lösen.

Bitten Sie jemanden, der sich mit Python auskennt, um Hilfe bei der Einrichtung. Wenn Sie sich umhören, werden Sie möglicherweise feststellen, dass Sie bereits jemanden kennen, der Python verwendet, ohne dass Sie es wussten.

Die Installationsanleitungen in diesem Kapitel sind auch auf der Begleitwebsite zu diesem Buch auf

https://ehmatthes.github.io/pcc_3e

erhältlich. Vielleicht kann Ihnen die Onlineversion der Anleitung besser helfen, da Sie einfach Code von dort kopieren und die Links direkt anklicken können. (Sie liegt allerdings in englischer Sprache vor.)

Bitten Sie online um Hilfe.

Anhang C

führt eine Reihe von Websites wie Foren und Chats auf, in denen Sie Personen, die Ihr Problem schon gelöst haben, um Anleitungen fragen können.

Hinweis

Umlaute können zu Syntaxfehlern durch den Python-Compiler führen, weil sie nicht Teil des Standardcodes sind. Um solche Fehler zu vermeiden, sollten Sie auf Umlaute (und ß) generell (auch in Kommentaren) verzichten.

Machen Sie sich keine Sorgen darüber, dass Sie erfahrene Programmierer mit Ihren Fragen stören könnten. Alle Programmierer haben schon selbst einmal den Punkt erreicht, an dem sie nicht mehr weiterkamen, und die meisten freuen sich, Ihnen bei der Einrichtung Ihres Systems zu helfen. Wenn Sie klar und deutlich beschreiben, was Sie tun wollen, was Sie bereits versucht haben und welche Ergebnisse Sie dabei erhalten haben, stehen die Chancen gut, dass Ihnen jemand helfen kann. Wie bereits in der Einleitung erwähnt, ist die Python-Community sehr freundlich und offen gegenüber Einsteigern.

Python sollte auf allen modernen Computern gut laufen. Probleme in diesem frühen Stadium können sehr frustrierend sein, und es lohnt sich, ihnen auf den Grund zu gehen. Wenn hello_world.py erst einmal läuft, können Sie mit dem Erlernen von Python anfangen. Ihre Programmierarbeit wird dann immer interessanter und befriedigender.

Python-Programme im Terminal ausführen

Die meisten Programme führen Sie auch direkt im Editor aus. Manchmal ist es jedoch sinnvoll, das Programm stattdessen in einem Terminalfenster auszuführen, beispielsweise wenn Sie ein schon vorhandenes Programm verwenden möchten, ohne es erst zur Bearbeitung zu öffnen.

Das können Sie auf jedem System tun, auf dem Python installiert ist – wenn Sie wissen, wie Sie auf das Verzeichnis zugreifen, in dem die Programmdatei gespeichert ist. In den folgenden Beispielen gehen wir davon aus, dass die Datei hello_world.py im Ordner python_work auf Ihrem Desktop liegt.

Unter Windows

Mit dem Terminalbefehl cd (»change directory«, also »Verzeichnis wechseln«) können Sie sich an einer Eingabeaufforderung durch Ihr Dateisystem bewegen, und der Befehl dir (»directory«) führt alle Dateien im jeweiligen Verzeichnis auf.

Öffnen Sie ein neues Terminalfenster und geben Sie die folgenden Befehle ein, um hello_world.py auszuführen:

❶ C:\> cd Desktop\python_work

❷ C:\Desktop\python_work> dir

hello_world.py

❸ C:\Desktop\python_work> python hello_world.py

Hello Python world!

Bei ❶ wechseln wir mit cd in den Ordner python_work, der sich im Ordner Desktop befindet. Danach vergewissern wir uns mit dir, dass sich hello_world.py tatsächlich in diesem Ordner befindet (❷). Anschließend führen wir die Datei mit dem Befehl python hello_world.py aus (❸).

Die meisten Ihrer Programme können Sie problemlos direkt im Editor ausführen. Wenn Ihre Programme anspruchsvoller werden, kann es jedoch sein, dass Sie einige davon im Terminal ausführen müssen.

Unter Linux und macOS

Die Ausführung eines Programms im Terminal erfolgt unter Linux genauso wie unter macOS. Mit dem Terminalbefehl cd (»change directory«, also »Verzeichnis wechseln«) können Sie sich in einer Terminalsitzung durch Ihr Dateisystem bewegen, und der Befehl ls (»list«) führt alle nicht verborgenen Dateien im jeweiligen Verzeichnis auf.

Öffnen Sie ein neues Terminalfenster und geben Sie die folgenden Befehle ein, um hello_world.py auszuführen:

❶ ~$ cd Desktop/python_work/

❷ ~/Desktop/python_work$ ls

hello_world.py

❸ ~/Desktop/python_work$ python hello_world.py

Hello Python world!

Bei ❶ wechseln wir mit cd in den Ordner python_work, der sich im Ordner Desktop befindet. Danach vergewissern wir uns mit ls, dass hello_world.py tatsächlich in diesem Ordner liegt (❷). Anschließend führen wir die Datei mit dem Befehl python hello_world.py aus (❸).

Die meisten Ihrer Programme lassen sich problemlos direkt vom Editor aus starten. Wenn Ihre Arbeit jedoch komplexer wird, werden Sie einige Programme über ein Terminal ausführen wollen.

Probieren Sie es selbst aus!

Bei den Übungen in diesem Kapitel geht es darum, selbst Nachforschungen anzustellen. Ab Kapitel 2 beruhen die Aufgaben auf dem Stoff, den Sie gelernt haben.

1-1 python.org: Schauen Sie sich auf der Website von Python (https://python.org) nach Themen um, die Sie interessant finden. Wenn Sie Python besser kennen, werden einige Teile dieser Website nützlicher für Sie sein, als sie es jetzt sind.

1-2 Tippfehler in »Hello World«: Öffnen Sie die Datei hello_world.py. Fügen Sie irgendwo in der Zeile einen Tippfehler ein und führen Sie das Programm erneut aus. Können Sie einen Tippfehler einbauen, der eine Fehlermeldung hervorruft? Ergibt die Fehlermeldung für Sie einen Sinn? Können Sie einen Tippfehler einbauen, der nicht zu einer Fehlermeldung führt? Warum ruft dieser Tippfehler keine Fehlermeldung hervor?

1-3 Unbegrenzte Fähigkeiten: Stellen Sie sich vor, Sie hätten unbegrenzte Programmierfähigkeiten. Was für Programme würden Sie dann schreiben? Sie beginnen gerade, programmieren zu lernen. Wenn Sie ein Ziel vor Augen haben, können Sie Ihre neu erworbenen Fähigkeiten sofort einsetzen. Jetzt ist der ideale Zeitpunkt, um kurze Beschreibungen der Programme zu formulieren, die Sie gern entwickeln möchten. Es ist eine gute Angewohnheit, ein »Ideentagebuch« zu führen, in dem Sie nachschlagen können, wenn Sie mit einem neuen Projekt beginnen wollen. Nehmen Sie sich einige Minuten Zeit, um drei Programme zu beschreiben, die Sie gern erstellen möchten.

Zusammenfassung

In diesem Kapitel haben Sie ein bisschen über Python im Allgemeinen gelernt und Python auf Ihrem System installiert, falls es noch nicht vorhanden war. Außerdem haben Sie einen Texteditor installiert, um sich das Schreiben von Python-Code zu erleichtern. Sie haben erfahren, wie Sie Python-Codeausschnitte in einer Terminalsitzung laufen lassen können, und mit hello_world.py Ihr erstes kleines Programm ausgeführt. Wahrscheinlich haben Sie auch ein bisschen über Fehlersuche gelernt.

Im nächsten Kapitel sehen wir uns die verschiedenen Arten von Daten an, mit denen Sie in Python-Programmen arbeiten können. Außerdem lernen Sie, mit Variablen umzugehen.

2

Variablen und einfache Datentypen

In diesem Kapitel lernen Sie die verschiedenen Arten von Daten kennen, mit denen Sie in Python-Programmen arbeiten können. Außerdem erfahren Sie, wie Sie die Daten in Variablen speichern und diese Variablen in Ihren Programmen einsetzen.

Was bei der Ausführung von hello_world.py wirklich geschieht

Sehen wir uns nun genauer an, was Python macht, wenn Sie hello_world.py laufen lassen. Selbst bei einem so einfachen Programm erledigt Python eine ziemliche Menge an Arbeit:

hello_world.py

print("Hello Python world!")

Wenn Sie diesen Code ausführen, erhalten Sie folgende Ausgabe:

Hello Python world!

Die Dateiendung .py gibt an, dass es sich bei der Datei um ein Python-Programm handelt. Der Editor führt die Datei mithilfe des Python-Interpreters aus, der das Programm liest und dabei ermittelt, was jedes einzelne darin enthaltene Wort bedeutet. Sieht er beispielsweise das Wort print, gefolgt von Klammern, gibt er den Inhalt dieser Klammern auf dem Bildschirm aus.

Während Sie ein Programm schreiben, kennzeichnet der Editor die verschiedenen Teile des Programms durch unterschiedliche Farben. Beispielsweise erkennt er, dass es sich bei print() um den Namen einer Funktion handelt, und stellt das Wort in einer bestimmten Farbe dar. Er bemerkt auch, dass "Hello Python world!" kein Python-Code ist, und färbt diesen Satz daher anders ein. Diese sogenannte Syntaxkennzeichnung ist sehr praktisch, wenn Sie Ihre eigenen Programme schreiben.

Variablen

Versuchen wir nun, in hello_world.py eine Variable zu verwenden. Fügen Sie am Anfang der Datei eine neue Zeile ein und ändern Sie die zweite Zeile:

hello_world.py

Wenn Sie dieses Programm ausführen, erhalten Sie die gleiche Ausgabe wie zuvor:

Hello Python world!

Was wir hinzugefügt haben, ist eine Variable namens message. Jede Variable enthält einen Wert, also eine Information, die mit ihr verknüpft ist. In diesem Fall ist der Wert der Text "Hello Python world!".

Die Ergänzung um eine Variable macht dem Python-Interpreter etwas mehr Arbeit. Wenn er die erste Zeile verarbeitet, verknüpft er den Text "Hello Python world!" mit der Variablen message. In der zweiten Zeile angekommen, gibt er den Wert von message auf dem Bildschirm aus.

Wir wollen das Programm nun noch um eine zweite Meldung erweitern. Fügen Sie am Ende von hello_world.py eine leere Zeile und dann zwei neue Codezeilen ein:

Wenn Sie jetzt hello_world.py ausführen, erhalten Sie eine Ausgabe von zwei Zeilen:

Hello Python world!

Hello Python Crash Course world!

Den Wert einer Variablen können Sie in einem Programm jederzeit ändern. Python merkt sich stets den aktuellen Wert.

Variablen benennen und verwenden

Wenn Sie in Python Variablen verwenden, müssen Sie einige Regeln und Richtlinien einhalten. Die Richtlinien dienen nur dazu, Code zu schreiben, der sich leichter lesen und verstehen lässt, doch wenn Sie die Regeln brechen, kann das einen Fehler zur Folge haben. Merken Sie sich daher folgende Punkte für den Umgang mit Variablen:

Variablennamen dürfen nur Buchstaben, Ziffern und Unterstriche enthalten. Am Anfang darf ein Buchstabe oder ein Unterstrich stehen, aber keine Zahl. Beispielsweise können Sie eine Variable

message_1

nennen, aber nicht

1_message

.

Leerzeichen sind in Variablennamen nicht erlaubt. Um Namensbestandteile zu trennen, können Sie Unterstriche verwenden. Beispielsweise ist

greeting_message

ein gültiger Variablenname, wohingegen

greeting message

einen Fehler hervorruft.

Verwenden Sie keine Python-Schlüsselwörter und -Funktionsnamen als Variablennamen, also keine Wörter, die in Python für bestimmte Zwecke reserviert sind, z. B. das Wort

print

(siehe »Schlüsselwörter und integrierte Funktionen« in

Anhang A

).

Variablennamen sollten kurz, aber aussagekräftig sein. Beispielsweise ist

name

besser als

n

,

student_name

besser als

s_n

und

name_length

besser als

length_of_persons_name

.

Seien Sie bei der Verwendung des kleinen

l

und des großen O vorsichtig, da diese Buchstaben leicht mit den Zahlen

1

und

0

verwechselt werden können.

Es kann etwas Übung erfordern, sich gute Variablennamen auszudenken, vor allem, wenn Ihre Programme interessanter und komplizierter werden. Je mehr Programme Sie schreiben und je mehr Code anderer Leute Sie lesen, umso besser werden Sie jedoch darin, Variablen aussagekräftig zu benennen.

Hinweis