Python & AI Tutorials Logo
Python Programmierung

1. Erste Schritte mit Python

Willkommen auf Ihrer Reise in die Python-Programmierung! Dieses Kapitel führt Sie durch die wesentlichen ersten Schritte: Sie verstehen, was Python ist, wie Sie es auf Ihrem Computer installieren und wie Sie Ihren ersten Python-Code ausführen. Am Ende dieses Kapitels werden Sie sich damit wohlfühlen, die interaktive Shell von Python zu benutzen, Skriptdateien zu erstellen und auszuführen und die grundlegenden Fehlermeldungen zu verstehen, die Python Ihnen gibt.

1.1) Was ist ein Programm und was macht Python?

Bevor wir speziell in Python einsteigen, lassen Sie uns verstehen, was ein Programm ist und welche Rolle Python beim Erstellen von Programmen spielt.

1.1.1) Programme verstehen

Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll. So wie ein Rezept Ihnen Schritt für Schritt erklärt, wie Sie einen Kuchen backen, sagt ein Programm einem Computer Schritt für Schritt, wie er eine Aufgabe ausführen soll. Diese Aufgaben können von einfachen Berechnungen bis hin zu komplexen Operationen reichen, wie das Anzeigen von Webseiten, die Verarbeitung von Bildern oder die Steuerung von Robotern.

Computer verstehen menschliche Sprachen wie Englisch oder Spanisch nicht direkt. Sie verstehen nur Maschinencode – Folgen von Binärzahlen (0 und 1), die sehr grundlegende Operationen repräsentieren. Programme direkt in Maschinencode zu schreiben, wäre für Menschen extrem schwierig und fehleranfällig.

Hier kommen Programmiersprachen ins Spiel. Eine Programmiersprache ist eine für Menschen lesbare Art, Anweisungen zu schreiben, die in Maschinencode übersetzt werden können. Python ist eine solche Programmiersprache, die besonders leicht lesbar und schreibbar für Menschen entworfen wurde.

1.1.2) Was macht Python besonders

Python ist eine höhere Programmiersprache (high-level programming language), das heißt, sie abstrahiert viele der komplexen Details weg, die Sie in niedrigeren Sprachen selbst handhaben müssten. Das macht Python sowohl für Einsteiger als auch für Profis besonders attraktiv:

Lesbare Syntax: Python-Code liest sich fast wie Englisch. Um zum Beispiel "Hello, World!" in Python auszugeben, schreiben Sie:

python
# hello_simple.py
print("Hello, World!")

Ausgabe:

Hello, World!

Vergleichen Sie das mit Sprachen wie C oder Java, die für dieselbe Aufgabe deutlich mehr Boilerplate-Code benötigen.

Interpretierte Sprache: Python ist eine interpretierte Sprache (interpreted language). Das bedeutet, Sie müssen Ihren Code nicht erst in Maschinencode kompilieren, bevor Sie ihn ausführen. Stattdessen liest ein Programm namens Python-Interpreter Ihren Code und führt ihn Zeile für Zeile aus. Das beschleunigt die Entwicklung, weil Sie die Ergebnisse Ihrer Codeänderungen sofort sehen können.

Vielseitig und leistungsfähig: Trotz seiner Einsteigerfreundlichkeit wird Python in professionellen Umgebungen eingesetzt für:

  • Webentwicklung (Webseiten und Webanwendungen)
  • Datenanalyse und -visualisierung
  • Maschinelles Lernen und künstliche Intelligenz
  • Wissenschaftliches Rechnen
  • Automatisierung und Scripting
  • Spieleentwicklung
  • Und vieles mehr

Große Community und Bibliotheken: Python hat eine enorme Community von Nutzern und tausende vorgefertigte Code-Bibliotheken, die seine Fähigkeiten erweitern. Das bedeutet, Lösungen für gängige Probleme sind oft nur einen import einer Bibliothek entfernt.

1.1.3) Wie Python Ihren Code ausführt

Wenn Sie Python-Code schreiben und ausführen, passiert hinter den Kulissen Folgendes:

Your Python Code

Python Interpreter

Bytecode

Python Virtual Machine

Execution/Output

  1. You write code: You create a file containing Python instructions or type them directly into the Python interactive shell.

  2. The interpreter reads your code: The Python interpreter checks your code for syntax errors (mistakes in how you've written the code).

  3. Translation to bytecode: If there are no syntax errors, Python translates your code into an intermediate form called bytecode. Bytecode is an intermediate form of your code – a translation into a language, die ungefähr auf halbem Weg zwischen Python und Maschinencode liegt. Er ist für den Computer einfacher auszuführen als Python, aber abstrakter als reiner Maschinencode.

  4. Execution: The Python Virtual Machine (PVM) executes the bytecode, performing the operations you specified.

  5. Output: You see the results of your program – whether that's text printed to the screen, a file created, or any other action.

Das Schöne an diesem Prozess ist, dass Sie sich um die meisten dieser Schritte nicht kümmern müssen. Sie schreiben Code, führen ihn aus und sehen Ergebnisse. Den Rest übernimmt der Interpreter.

1.2) Python installieren und den Interpreter ausführen

Um mit Python zu programmieren, müssen Sie Python zunächst auf Ihrem Computer installieren. In diesem Abschnitt werden Sie durch den Installationsprozess geführt und überprüfen, ob alles korrekt funktioniert.

1.2.1) Prüfen, ob Python bereits installiert ist

Einige Betriebssysteme werden mit vorinstalliertem Python ausgeliefert. Bevor Sie etwas herunterladen, prüfen wir, ob Python bereits auf Ihrem System vorhanden ist.

Unter Windows:

  1. Öffnen Sie die Eingabeaufforderung (Command Prompt):

    • Drücken Sie Windows + R, um den Ausführen-Dialog zu öffnen
    • Tippen Sie cmd und drücken Sie Enter
  2. Geben Sie folgenden Befehl ein und drücken Sie Enter:

bash
python --version

Wenn Python installiert ist, sehen Sie eine Ausgabe wie:

Python 3.11.5

Wenn Sie eine Fehlermeldung sehen wie 'python' is not recognized as an internal or external command, ist Python nicht installiert oder nicht in Ihrer Systemumgebungsvariablen PATH eingetragen.

Unter macOS:

  1. Öffnen Sie die Terminal-Anwendung:

    • Drücken Sie Command + Space, um Spotlight zu öffnen
    • Tippen Sie Terminal und drücken Sie Enter
  2. Geben Sie folgenden Befehl ein und drücken Sie Enter:

bash
python3 --version

Hinweis: Unter macOS verwenden Sie in der Regel python3 statt python, weil python eventuell auf Python 2 verweist, das veraltet ist.

Wenn Python 3 installiert ist, sehen Sie eine Ausgabe wie:

Python 3.11.5

Unter Linux:

  1. Öffnen Sie Ihr Terminalprogramm (abhängig von der Distribution)

  2. Geben Sie folgenden Befehl ein und drücken Sie Enter:

bash
python3 --version

Die meisten modernen Linux-Distributionen werden mit vorinstalliertem Python 3 ausgeliefert.

1.2.2) Python herunterladen und installieren

Wenn Python nicht installiert ist oder Sie eine ältere Version haben, folgen Sie diesen Schritten, um die aktuelle Version zu installieren.

Installation unter Windows:

  1. Besuchen Sie die offizielle Python-Webseite: https://www.python.org/downloads/

  2. Klicken Sie auf die Schaltfläche „Download Python“ (sie zeigt die neueste Version, etwa „Download Python 3.11.5“)

  3. Führen Sie das heruntergeladene Installationsprogramm (.exe-Datei) aus

  4. Wichtig: Aktivieren Sie auf dem ersten Bildschirm des Installationsprogramms das Kontrollkästchen „Add Python to PATH“. Das ist entscheidend – dadurch können Sie Python von jeder Eingabeaufforderung aus ausführen.

    Was passiert, wenn Sie es vergessen: Wenn Sie „Add Python to PATH“ nicht aktivieren, können Sie Python nicht von der Kommandozeile aus ausführen und erhalten eine Fehlermeldung wie 'python' is not recognized as an internal or external command. In diesem Fall müssen Sie entweder Python neu installieren (diesmal mit gesetztem Häkchen) oder Python manuell zu Ihrer PATH-Variable hinzufügen, was für Einsteiger deutlich komplizierter ist.

  5. Klicken Sie auf „Install Now“ und warten Sie, bis die Installation abgeschlossen ist

  6. Überprüfen Sie die Installation, indem Sie eine neue Eingabeaufforderung öffnen und Folgendes eingeben:

bash
python --version

Sie sollten die Versionnummer sehen, die Sie gerade installiert haben.

Installation unter macOS:

  1. Besuchen Sie https://www.python.org/downloads/

  2. Klicken Sie auf die Schaltfläche „Download Python“ für die neueste Version

  3. Öffnen Sie die heruntergeladene .pkg-Datei und folgen Sie dem Installationsassistenten

  4. Überprüfen Sie die Installation, indem Sie das Terminal öffnen und Folgendes eingeben:

bash
python3 --version

Installation unter Linux:

Die meisten Linux-Distributionen enthalten bereits Python 3, aber falls Sie es installieren oder aktualisieren müssen:

Für Ubuntu/Debian-basierte Systeme:

bash
sudo apt update
sudo apt install python3

Für Fedora/Red-Hat-basierte Systeme:

bash
sudo dnf install python3

Überprüfen mit:

bash
python3 --version

1.2.3) Den Python-Interpreter ausführen

Sobald Python installiert ist, können Sie den Python-Interpreter direkt von der Kommandozeile oder dem Terminal aus starten. Der Interpreter ist das Programm, das Python-Code ausführt. Wenn Sie den Interpreter direkt starten, öffnet sich die interaktive Shell (REPL), die wir im nächsten Abschnitt ausführlich erkunden. Das unterscheidet sich vom Ausführen einer Skriptdatei, was wir in Abschnitt 1.4 behandeln.

Unter Windows:

Öffnen Sie die Eingabeaufforderung und tippen Sie:

bash
python

Unter macOS und Linux:

Öffnen Sie das Terminal und tippen Sie:

bash
python3

Sie sollten etwas in dieser Art sehen:

Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Die Eingabeaufforderung >>> zeigt an, dass Python bereit ist, Ihre Befehle entgegenzunehmen. Das nennt man die Python-interaktive Shell oder REPL (Read-Eval-Print Loop), die wir im nächsten Abschnitt ausführlich erkunden werden.

Um den Interpreter zu verlassen, können Sie:

  • exit() eingeben und Enter drücken
  • quit() eingeben und Enter drücken
  • Ctrl + D drücken (unter macOS/Linux) oder Ctrl + Z und dann Enter (unter Windows)

Herzlichen Glückwunsch! Sie haben Python erfolgreich installiert und überprüft, dass der Interpreter funktioniert. Sie sind nun bereit, mit dem Schreiben von Python-Code zu beginnen.

1.3) Die Python-interaktive Shell (REPL) verwenden

Die Python-interaktive Shell, meist REPL (Read-Eval-Print Loop) genannt, ist eine der nützlichsten Funktionen von Python für Lernen und Experimente. Sie ermöglicht es Ihnen, Python-Code einzugeben und sofort das Ergebnis zu sehen, was sie ideal macht, um neue Konzepte auszuprobieren, kleine Codeausschnitte zu testen und die Möglichkeiten von Python zu erkunden.

1.3.1) Was ist die REPL?

Die Python-interaktive Shell, meist REPL (Read-Eval-Print Loop) genannt, ist eine der nützlichsten Funktionen von Python für Lernen und Experimente. Die REPL wird auch Python-interaktive Shell oder einfach der interaktive Interpreter genannt – all diese Begriffe beziehen sich auf dasselbe: die >>>-Eingabeaufforderung, an der Sie Python-Code eingeben und sofortige Ergebnisse sehen können.

REPL steht für:

  • Read (Lesen): Python liest den Code, den Sie eingeben
  • Eval (Auswerten): Python wertet diesen Code aus (führt ihn aus)
  • Print (Ausgeben): Python gibt das Ergebnis aus
  • Loop (Schleife): Python kehrt zurück, um weiteren Code zu lesen

Dieser Zyklus läuft weiter, bis Sie die REPL verlassen. Es ist wie ein Gespräch mit Python – Sie geben eine Anweisung, Python antwortet, und Sie können direkt danach die nächste Anweisung geben, basierend auf der Antwort.

1.3.2) Die REPL starten und verwenden

Um die REPL zu starten, öffnen Sie Ihre Kommandozeile oder Ihr Terminal und tippen Sie python (Windows) oder python3 (macOS/Linux), wie wir es im vorherigen Abschnitt getan haben.

Sobald Sie die Eingabeaufforderung >>> sehen, können Sie beginnen, Python-Code einzugeben. Probieren wir einige einfache Beispiele:

Einfache Arithmetik:

python
>>> 5 + 3
8
>>> 10 * 2
20
>>> 15 / 3
5.0

Beachten Sie, dass Sie in der REPL kein print() verwenden müssen – Python zeigt das Ergebnis jedes Ausdrucks automatisch an. Das ist eine der Bequemlichkeiten der REPL.

Mit Text arbeiten:

python
>>> "Hello, World!"
'Hello, World!'
>>> "Python" + " is " + "great"
'Python is great'

Wenn Sie nur eine Zeichenkette (Text in Anführungszeichen) eintippen, zeigt Python diese mit Anführungszeichen an – das ist die Art, wie Python die Zeichenkette darstellt. Wenn Sie Text ohne Anführungszeichen anzeigen möchten, verwenden Sie die Funktion print():

python
>>> print("Hello, World!")
Hello, World!

Beachten Sie den Unterschied: Wenn Sie nur die Zeichenkette eingeben, wird sie mit Anführungszeichen angezeigt (die Darstellung durch Python), aber print() gibt sie ohne Anführungszeichen aus (den tatsächlichen Text).

Werte in Variablen speichern:

Während das direkte Eintippen von Werten für schnelle Tests nützlich ist, möchten Sie Werte oft in Variablen speichern – benannte Behälter, die Daten enthalten, die Sie in Ihrem Programm wiederverwenden können.

python
>>> name = "Alice"
>>> name
'Alice'
>>> age = 25
>>> age
25

Wenn Sie einer Variablen einen Wert zuweisen (wie name = "Alice"), gibt Python nichts aus. Wenn Sie jedoch nur den Variablennamen eintippen, zeigt Python Ihnen ihren Wert.

Python als Taschenrechner verwenden:

python
>>> 2 + 2
4
>>> (10 + 5) * 2
30
>>> 100 / 4
25.0
>>> 7 % 3
1

Die REPL ist hervorragend für schnelle Berechnungen und zum Testen mathematischer Ausdrücke geeignet.

1.3.3) Mehrzeilige Eingaben in der REPL

Manchmal müssen Sie Code schreiben, der sich über mehrere Zeilen erstreckt, zum Beispiel Funktionsdefinitionen. Die REPL kommt damit gut zurecht, indem sie ihre Eingabeaufforderung ändert. Wenn Sie eine mehrzeilige Anweisung beginnen, wechselt die Eingabeaufforderung von >>> zu ..., um anzuzeigen, dass Python darauf wartet, dass Sie die Anweisung vervollständigen.

Hier ein einfaches Beispiel mit einer Funktion (Hinweis: Wir lernen Funktionen (functions) im Detail in Kapitel 19 kennen. Dieses Beispiel zeigt nur, wie die REPL mehrzeilige Eingaben mit der ...-Fortsetzungsaufforderung handhabt):

python
>>> def greet():
...     print("Hello!")
...
>>> greet()
Hello!

Nachdem Sie die erste Zeile eingegeben und Enter gedrückt haben, wird die Eingabeaufforderung zu .... Sie geben die eingerückte Zeile ein, drücken Enter und drücken dann noch einmal Enter in einer leeren Zeile, um den Code auszuführen.

1.3.4) Auf vorherige Befehle zugreifen

Die REPL führt eine Historie der Befehle, die Sie eingegeben haben. Sie können mit den Pfeiltasten nach oben und unten durch Ihren Verlauf navigieren:

  • Pfeil nach oben: Zeigt den vorherigen Befehl
  • Pfeil nach unten: Zeigt den nächsten Befehl (wenn Sie zurückgegangen sind)

Das ist äußerst nützlich, wenn Sie einen Befehl ändern und erneut ausführen möchten oder wenn Sie sich erinnern wollen, was Sie zuvor eingegeben haben.

1.3.5) Hilfe in der REPL abrufen

Die REPL von Python hat eingebaute Hilfefunktionen. Sie können Informationen über Python-Objekte, Funktionen (functions) und Module direkt abrufen.

Diese Hilfefunktionen sind besonders nützlich, wenn Sie Python erkunden und erfahren möchten, was verfügbar ist. Wenn Sie zum Beispiel mit Zeichenketten arbeiten und sich fragen, welche Methoden verfügbar sind, zeigt dir(str) Ihnen alle Optionen. Im Verlauf dieses Buches werden Sie diese Werkzeuge zunehmend wertvoll finden, um eigenständig zu experimentieren.

python
>>> help()

Dies startet das Hilfesystem. Sie können dann den Namen von etwas eingeben, zu dem Sie Hilfe möchten, oder quit eingeben, um das Hilfesystem zu verlassen.

Sie können auch direkt Hilfe zu bestimmten Dingen abrufen:

python
>>> help(print)

Das zeigt die Dokumentation zur Funktion print(). Drücken Sie q, um die Hilfeanzeige zu verlassen.

Eine weitere nützliche Funktion ist dir(), die die Attribute und Methoden auflistet, die für ein Objekt verfügbar sind. (Hinweis: Attribute und Methoden sind Eigenschaften und Aktionen, die einem Objekt zur Verfügung stehen – wir werden in Kapitel 43 mehr darüber lernen. Wir werden auch in Kapitel 22 lernen, wie man Module importiert. Dieses Beispiel zeigt, wie die REPL hilft, die Fähigkeiten von Python zu erkunden.)

python
>>> dir(str)

Das zeigt alle Methoden, die für Zeichenkettenobjekte verfügbar sind.

1.3.6) Wann die REPL am nützlichsten ist

Die REPL ist besonders gut geeignet für:

  1. Lernen und Entdecken: Wenn Sie ein neues Konzept lernen, erlaubt Ihnen die REPL, sofort zu experimentieren, ohne Dateien zu erstellen.

  2. Testen kleiner Codeausschnitte: Bevor Sie Code in Ihr Programm einfügen, können Sie ihn in der REPL testen, um sicherzustellen, dass er wie erwartet funktioniert.

  3. Schnelle Berechnungen: Die REPL ist ein leistungsfähiger Taschenrechner, der immer zur Verfügung steht.

  4. Debugging: Wenn Ihr Programm nicht funktioniert, können Sie die REPL verwenden, um einzelne Teile Ihres Codes isoliert zu testen.

  5. Erkunden von Bibliotheken: Wenn Sie eine neue Bibliothek kennenlernen, können Sie sie in der REPL importieren und ihre Funktionen interaktiv ausprobieren.

Die REPL hat jedoch auch Einschränkungen. Code, den Sie in der REPL schreiben, verschwindet, wenn Sie sie schließen – es gibt keine Möglichkeit, Ihre REPL-Sitzung als Programm zu speichern. Für jeden Code, den Sie behalten und wiederholt ausführen möchten, benötigen Sie Skriptdateien, die wir im nächsten Abschnitt behandeln.

1.3.7) Die REPL beenden

Wenn Sie mit der REPL fertig sind, können Sie sie auf verschiedene Arten beenden:

python
>>> exit()

Oder:

python
>>> quit()

Oder verwenden Sie Tastenkombinationen:

  • Windows: Drücken Sie Ctrl + Z und dann Enter
  • macOS/Linux: Drücken Sie Ctrl + D

Nach dem Beenden kehren Sie zu Ihrer normalen Kommandozeile oder Ihrem Terminal zurück.

1.4) Python-Skriptdateien erstellen und ausführen

Die REPL ist hervorragend für Experimente und schnelle Tests, aber was ist, wenn Sie Ihren Code speichern und später erneut ausführen möchten? Was ist, wenn Sie ein längeres Programm mit Dutzenden oder Hunderten von Zeilen schreiben möchten? Für solche Situationen benötigen Sie Skriptdateien – dauerhafte Dateien, die Python-Code enthalten und die Sie bearbeiten, speichern und wiederholt ausführen können.

Während die REPL hervorragend für Experimente geeignet ist, besteht der Großteil der Python-Programmierung aus dem Schreiben von Skriptdateien – Textdateien mit Python-Code, die gespeichert, bearbeitet und wiederholt ausgeführt werden können. In diesem Abschnitt lernen Sie, wie Sie Ihr erstes Python-Skript erstellen und es von der Kommandozeile ausführen.

1.4.1) Was ist ein Python-Skript?

Ein Python-Skript ist einfach eine Textdatei mit Python-Code, die mit der Endung .py gespeichert wird. Im Gegensatz zu Code, den Sie in die REPL eingeben, haben Skriptdateien folgende Eigenschaften:

  • Sie sind dauerhaft – Sie können sie speichern und später ausführen
  • Sie können leicht bearbeitet und verändert werden
  • Sie können so viel Code enthalten, wie Sie benötigen
  • Sie können mit anderen geteilt werden
  • Sie können automatisch oder nach Zeitplan ausgeführt werden

Denken Sie an eine Skriptdatei wie an ein Rezept, das Sie aufschreiben, während die REPL eher dem Kochen gleicht, während Sie das Rezept spontan erfinden. Beides hat seinen Platz, aber für alles, was umfangreicher ist, werden Sie eine Skriptdatei verwenden wollen.

1.4.2) Einen Texteditor auswählen

Um Python-Skripte zu erstellen, benötigen Sie einen Texteditor. Verwenden Sie keine Textverarbeitungsprogramme wie Microsoft Word oder Google Docs – diese fügen Formatierungen hinzu, die Python nicht versteht.

Gute Optionen für Einsteiger:

  1. IDLE: Wird mit Python gebündelt. Einfach und zum Lernen gedacht.

    • Unter Windows: Suchen Sie im Startmenü nach „IDLE“
    • Unter macOS/Linux: Tippen Sie idle3 im Terminal
  2. Visual Studio Code (VS Code): Kostenlos, leistungsfähig und von Profis weit verbreitet. Hervorragende Python-Unterstützung durch Erweiterungen.

  3. PyCharm Community Edition: Eine voll ausgestattete IDE (Integrated Development Environment) speziell für Python.

  4. Notepad++ (nur Windows): Leichtgewichtig und einfach.

  5. Sublime Text: Schnell und elegant, mit guter Python-Unterstützung.

Für dieses Buch verwenden wir einfache Beispiele, die mit jedem Texteditor funktionieren. Wählen Sie den Editor, der sich für Sie am angenehmsten anfühlt.

1.4.3) Ihr erstes Python-Skript erstellen

Erstellen wir ein einfaches Python-Skript, das Begrüßungsnachrichten ausgibt.

Schritt 1: Neue Datei erstellen

Öffnen Sie Ihren gewählten Texteditor und erstellen Sie eine neue Datei. Speichern Sie sie als hello.py an einem Ort, den Sie sich gut merken (z. B. auf Ihrem Desktop oder in einem eigenen Ordner für Python-Projekte).

Wichtig: Die Endung .py ist entscheidend. Sie zeigt Ihrem Betriebssystem und Ihrem Editor, dass es sich um eine Python-Datei handelt.

Schritt 2: Code schreiben

Tippen Sie folgenden Code in Ihre Datei:

python
# hello.py
# My first Python script
 
print("Hello, World!")
print("Welcome to Python programming!")

Zeilen, die mit # beginnen, sind Kommentare – Notizen für Menschen, die den Code lesen. Python ignoriert sie vollständig. Kommentare helfen Ihnen, sich daran zu erinnern, was Ihr Code tut, und helfen anderen, Ihre Arbeit zu verstehen. Wir werden Kommentare in Kapitel 2 ausführlicher behandeln.

Schritt 3: Datei speichern

Speichern Sie die Datei. Achten Sie darauf, dass sie als hello.py gespeichert ist, nicht als hello.py.txt oder mit einer anderen Endung.

Schauen wir uns an, was dieser Code macht:

  • print("Hello, World!") weist Python an, den Text „Hello, World!“ auf dem Bildschirm anzuzeigen.
  • print("Welcome to Python programming!") zeigt eine weitere Nachricht an.

Lassen Sie uns ein weiteres Beispiel hinzufügen, um die Lücke zu überbrücken, bevor wir zu komplexeren Skripten übergehen:

python
# greetings.py
# A script with multiple print statements
 
print("Python is fun!")
print("Let's learn together.")
print("This is exciting!")

Speichern Sie dies als greetings.py. Dieses Beispiel verwendet drei print-Anweisungen, aber noch keine Variablen, damit Sie sich mit der Grundstruktur vertraut machen können, bevor wir zu komplexeren Konzepten übergehen.

1.4.4) Ihr Skript von der Kommandozeile ausführen

Nun, da Sie Ihr Skript erstellt haben, führen wir es aus.

Schritt 1: Kommandozeile/Terminal öffnen

  • Windows: Öffnen Sie die Eingabeaufforderung
  • macOS/Linux: Öffnen Sie das Terminal

Schritt 2: In das Verzeichnis Ihres Skripts wechseln

Verwenden Sie den Befehl cd (change directory), um in das Verzeichnis zu wechseln, in dem Sie hello.py gespeichert haben. Wenn Sie es zum Beispiel auf Ihrem Desktop gespeichert haben:

Windows:

bash
cd Desktop

macOS/Linux:

bash
cd ~/Desktop

Wenn Sie beim Versuch, Ihr Skript auszuführen, eine Fehlermeldung wie „No such file or directory“ erhalten, befinden Sie sich wahrscheinlich im falschen Ordner. Verwenden Sie den Befehl cd, um in das Verzeichnis zu wechseln, in dem Sie Ihr Skript gespeichert haben.

Um zu überprüfen, ob Sie am richtigen Ort sind, können Sie sich die Dateien auflisten lassen:

Windows:

bash
dir

macOS/Linux:

bash
ls

Sie sollten hello.py in der Liste sehen.

Schritt 3: Ihr Skript ausführen

Windows:

bash
python hello.py

macOS/Linux:

bash
python3 hello.py

Sie sollten folgende Ausgabe sehen:

Hello, World!
Welcome to Python programming!

Herzlichen Glückwunsch! Sie haben gerade Ihr erstes Python-Skript erstellt und ausgeführt.

1.4.5) Ausführung eines Skripts verstehen

Wenn Sie ein Python-Skript ausführen, passiert Folgendes:

  1. Sie tippen den Befehl zum Ausführen Ihres Skripts
  2. Ihr Betriebssystem startet den Python-Interpreter
  3. Der Interpreter liest Ihre gesamte Skriptdatei
  4. Er prüft auf Syntaxfehler (Fehler in der Art, wie Sie den Code geschrieben haben)
  5. Wenn Fehler vorliegen, zeigt er eine Fehlermeldung an und stoppt
  6. Wenn keine Fehler vorliegen, führt er Ihren Code Zeile für Zeile von oben nach unten aus
  7. Jede Ausgabe (von print()-Anweisungen) wird angezeigt
  8. Wenn das Skript fertig ist, kehren Sie zur Kommandozeile zurück

1.4.6) Ein etwas komplexeres Beispiel

Erstellen wir ein etwas komplexeres Skript, das mehrere Konzepte demonstriert. Zuerst fügen wir ein Zwischenbeispiel hinzu, das Variablen sanfter einführt:

python
# simple_variable.py
# Using a variable for the first time
 
message = "Hello, Python!"
print(message)

Ausgabe:

Hello, Python!

Das schlägt die Brücke zwischen reinen print-Anweisungen und komplexeren Beispielen. Schauen wir uns jetzt ein Skript mit mehreren Variablen an:

python
# student_info.py
# A script that uses variables and multiple print statements
 
name = "Alice"
age = 25
city = "New York"
 
print("Student Information")
print("-------------------")
print("Name:", name)
print("Age:", age)
print("City:", city)

Speichern Sie dies als student_info.py und führen Sie es aus:

Windows:

bash
python student_info.py

macOS/Linux:

bash
python3 student_info.py

Ausgabe:

Student Information
-------------------
Name: Alice
Age: 25
City: New York

Dieses Skript demonstriert:

  • Das Erstellen von Variablen (wir werden in Kapitel 3 mehr über Variablen lernen)
  • Die Verwendung mehrerer print()-Anweisungen
  • Das Ausgeben von festem Text und Variablenwerten

1.4.7) Best Practices für Skriptdateien

Schon in dieser frühen Phase ist es gut, einige Gewohnheiten zu entwickeln:

  1. Verwenden Sie aussagekräftige Dateinamen: Benennen Sie Ihre Dateien nach ihrer Aufgabe. student_info.py ist besser als test.py oder program1.py, weil Sie sich auch noch in sechs Monaten daran erinnern, was die Datei macht, wenn Sie sie in einer Dateiliste sehen.

  2. Halten Sie Skripte organisiert: Erstellen Sie einen eigenen Ordner für Ihre Python-Projekte. Verteilen Sie Skripte nicht überall auf Ihrem Computer. Das macht es leichter, Ihre Arbeit zu finden und hält Ihre Dateien übersichtlich.

  3. Fügen Sie Kommentare hinzu: Beginnen Sie jedes Skript mit einem Kommentar, der erklärt, was es macht. Das hilft Ihnen später und hilft anderen, Ihren Code zu verstehen.

  4. Ein Skript, ein Zweck: Jedes Skript sollte eine Hauptaufgabe haben. Versuchen Sie nicht, mehrere voneinander unabhängige Aufgaben in eine Datei zu packen. Das macht Ihren Code leichter verständlich und wartbar.

  5. Häufig testen: Führen Sie Ihr Skript oft aus, während Sie es schreiben. Warten Sie nicht, bis Sie 100 Zeilen geschrieben haben – testen Sie nach jeweils ein paar Zeilen. Das hilft Ihnen, Fehler früh zu finden, wenn sie leichter zu beheben sind.

1.5) Ein erster Blick auf Fehler und Tracebacks

Fehler sind ein natürlicher Teil des Programmierens. Jeder Programmierer, vom Einsteiger bis zum Experten, stößt regelmäßig auf Fehler. Zu lernen, Fehlermeldungen zu lesen und zu verstehen, ist eine entscheidende Fähigkeit, die Ihnen hilft, Probleme schnell zu beheben und ein selbstbewussterer Programmierer zu werden.

1.5.1) Arten von Fehlern

Python unterscheidet zwischen zwei Hauptkategorien von Fehlern:

Syntaxfehler (Syntax Errors): Fehler in der Art, wie Sie den Code geschrieben haben – Verstöße gegen die Grammatikregeln von Python. Python entdeckt diese, bevor Ihr Code ausgeführt wird. Denken Sie an Syntaxfehler wie Grammatikfehler beim Schreiben – Python kann nicht einmal verstehen, was Sie sagen wollen.

Ausnahmen (Exceptions): Fehler, die auftreten, während Ihr Code läuft. Die Syntax ist korrekt, aber während der Ausführung geht etwas schief. Ausnahmen sind eher Laufzeitprobleme – Python versteht Ihre Anweisungen, kann sie aber nicht ausführen.

Sehen wir uns beide Arten anhand von Beispielen an.

1.5.2) Syntaxfehler

Ein Syntaxfehler tritt auf, wenn Sie Code schreiben, der nicht den Regeln von Python entspricht. Python kann Ihren Code dann nicht einmal zu laufen beginnen, weil es nicht versteht, was Sie geschrieben haben.

Beispiel 1: Fehlender Doppelpunkt

Erstellen Sie eine Datei namens syntax_error1.py:

python
# syntax_error1.py
# This code has a syntax error
 
if 5 > 3
    print("Five is greater than three")

Wenn Sie versuchen, dies auszuführen:

bash
python syntax_error1.py

sehen Sie:

  File "syntax_error1.py", line 4
    if 5 > 3
            ^
SyntaxError: expected ':'

Python teilt Ihnen mehrere Dinge mit:

  • Welche Datei das Problem hat: syntax_error1.py
  • Welche Zeile das Problem hat: Zeile 4
  • Wo in dieser Zeile das Problem liegt: das ^ zeigt auf die Stelle
  • Welche Art von Fehler: SyntaxError
  • Eine hilfreiche Beschreibung: expected ':'

Das Problem ist, dass if-Anweisungen in Python mit einem Doppelpunkt (:) enden müssen. Der korrekte Code ist:

python
# syntax_error1_fixed.py
# Fixed version
 
if 5 > 3:
    print("Five is greater than three")

Ausgabe:

Five is greater than three

Beispiel 2: Nicht zueinander passende Anführungszeichen

python
# syntax_error2.py
# Another syntax error example
 
message = "Hello, World!'
print(message)

Wenn Sie dies ausführen, erhalten Sie:

  File "syntax_error2.py", line 4
    message = "Hello, World!'
              ^
SyntaxError: unterminated string literal (detected at line 4)

Das Problem ist, dass die Zeichenkette mit einem doppelten Anführungszeichen (") beginnt, aber mit einem einfachen (') endet. Python verlangt passende Anführungszeichen. Beheben Sie dies, indem Sie passende Anführungszeichen verwenden:

python
# syntax_error2_fixed.py
# Fixed version
 
message = "Hello, World!"
print(message)

Ausgabe:

Hello, World!

1.5.3) Laufzeit-Ausnahmen (Runtime Exceptions)

Laufzeit-Ausnahmen (oder kurz „Exceptions“) treten auf, wenn Ihr Code syntaktisch korrekt ist, aber während der Ausführung etwas schiefgeht.

Beispiel 1: NameError

python
# name_error.py
# This code will cause a NameError
 
print(greeting)

Wenn Sie dies ausführen:

bash
python name_error.py

sehen Sie:

Traceback (most recent call last):
  File "name_error.py", line 4, in <module>
    print(greeting)
          ^^^^^^^^
NameError: name 'greeting' is not defined

Dies nennt man einen Traceback. Zerlegen wir ihn:

  • „Traceback (most recent call last):“ zeigt an, dass nun ein Traceback folgt, der zeigt, wo der Fehler aufgetreten ist.
  • Datei- und Zeileninformation: File "name_error.py", line 4, in <module> sagt Ihnen, in welcher Datei und in welcher Zeile der Fehler aufgetreten ist.
  • Der problematische Code: print(greeting) zeigt genau die Zeile, die fehlgeschlagen ist.
  • Fehlertyp: NameError sagt Ihnen, welche Art von Fehler aufgetreten ist.
  • Fehlerbeschreibung: name 'greeting' is not defined erklärt das Problem – Sie versuchen, eine Variable zu verwenden, die nicht existiert.

Um dies zu beheben, müssen Sie die Variable definieren, bevor Sie sie verwenden:

python
# name_error_fixed.py
# Fixed version
 
greeting = "Hello!"
print(greeting)

Ausgabe:

Hello!

Beispiel 2: TypeError

python
# type_error.py
# This code will cause a TypeError
 
number = 5
text = "The number is "
result = text + number
print(result)

Wenn Sie dies ausführen, erhalten Sie:

Traceback (most recent call last):
  File "type_error.py", line 6, in <module>
    result = text + number
             ~~~~~^~~~~~~~
TypeError: can only concatenate str (not "int") to str

Die Fehlermeldung sagt Ihnen, dass Sie nicht direkt eine Zeichenkette und eine ganze Zahl addieren (konkatenieren) können. Python weiß nicht, ob Sie eine mathematische Addition oder eine Zeichenkettenverknüpfung wollen.

Um dies zu beheben, wandeln Sie die Zahl in eine Zeichenkette um:

python
# type_error_fixed.py
# Fixed version
 
number = 5
text = "The number is "
result = text + str(number)
print(result)

Ausgabe:

The number is 5

Beispiel 3: ZeroDivisionError

Was passiert, wenn Sie versuchen, durch Null zu teilen?

python
# zero_division.py
# This code will cause a ZeroDivisionError
 
result = 10 / 0
print(result)

Wenn Sie dies ausführen, erhalten Sie:

Traceback (most recent call last):
  File "zero_division.py", line 4, in <module>
    result = 10 / 0
             ~~~^~~
ZeroDivisionError: division by zero

Dieser Fehler erklärt sich selbst: Sie können nicht durch Null teilen. Das ist mathematisch undefiniert, daher löst Python einen Fehler aus.

1.5.4) Tracebacks effektiv lesen

Wenn Sie auf einen Traceback stoßen, lesen Sie ihn von unten nach oben. Wir lesen von unten nach oben, weil die unterste Zeile zeigt, was schiefgegangen ist (der Fehlertyp und die Meldung), während die Zeilen darüber die Sequenz von Funktionsaufrufen (functions) zeigen, die zum Fehler geführt haben. Für einfache Programme wie unsere sagt Ihnen die unterste Zeile alles, was Sie wissen müssen.

  1. Unten beginnen: Schauen Sie sich zuerst den Fehlertyp und die Fehlermeldung an.
  2. Den Fehler verstehen: Was sagt Ihnen Python, was schiefgegangen ist?
  3. Die Stelle finden: Schauen Sie auf die Datei und die Zeilennummer, wo der Fehler auftrat.
  4. Den Code untersuchen: Schauen Sie sich diese Zeile in Ihrer Datei an.
  5. Falls nötig zurückverfolgen: Manchmal liegt das eigentliche Problem in der Zeile vor derjenigen, auf die Python zeigt.

1.5.5) Häufige Anfängerfehler

Hier sind einige Fehler, auf die Sie beim Lernen von Python wahrscheinlich stoßen werden:

Einrückungsfehler (Indentation Errors):

Python verwendet Einrückungen (Leerzeichen oder Tabs am Zeilenanfang), um Codeblöcke zu definieren. Falsche Einrückungen verursachen Fehler:

python
# indentation_error.py
# Incorrect indentation
 
print("First line")
    print("Second line")  # This line is incorrectly indented

Fehler:

  File "indentation_error.py", line 5
    print("Second line")
    ^
IndentationError: unexpected indent

Rechtschreibfehler:

Python unterscheidet Groß- und Kleinschreibung. Print ist nicht dasselbe wie print:

python
# spelling_error.py
# Incorrect capitalization
 
Print("Hello")  # Should be print, not Print

Fehler:

Traceback (most recent call last):
  File "spelling_error.py", line 4, in <module>
    Print("Hello")
    ^^^^^
NameError: name 'Print' is not defined

Fehlende Klammern:

In Python 3 benötigt print Klammern:

python
# missing_parentheses.py
# Missing parentheses
 
print "Hello"  # Should be print("Hello")

Fehler:

  File "missing_parentheses.py", line 4
    print "Hello"
          ^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Beachten Sie, wie hilfreich die Fehlermeldung von Python hier ist – sie schlägt sogar die Korrektur vor!

1.5.6) Strategien zum Umgang mit Fehlern

Wenn Sie auf einen Fehler stoßen:

  1. Keine Panik: Fehler sind normal. Jeder Programmierer sieht sie ständig.

  2. Lesen Sie die Fehlermeldung sorgfältig: Die Fehlermeldungen von Python sind in der Regel hilfreich. Sie sagen Ihnen, was schiefgegangen ist und wo.

  3. Überprüfen Sie die Zeilennummer: Gehen Sie zu der Zeile, die Python angibt, und suchen Sie nach dem Problem.

  4. Schauen Sie auf benachbarte Zeilen: Manchmal liegt der Fehler tatsächlich in der Zeile vor derjenigen, auf die Python zeigt.

  5. Prüfen Sie auf häufige Fehler: Fehlende Doppelpunkte, nicht passende Anführungszeichen, falsche Einrückungen und Tippfehler sind sehr häufig.

  6. Kleine Änderungen testen: Beheben Sie jeweils eine Sache und testen Sie nach jeder Änderung.

  7. Verwenden Sie die REPL: Wenn Sie sich bei etwas unsicher sind, testen Sie es zuerst in der REPL.

  8. Suchen Sie nach der Fehlermeldung: Wenn Sie eine Fehlermeldung nicht verstehen, suchen Sie online danach. Häufig finden Sie Erklärungen und Lösungen.

1.5.7) Ein vollständiges Beispiel mit Fehlern und Korrekturen

Schauen wir uns ein Skript mit mehreren Fehlern an und beheben wir diese Schritt für Schritt. Dieses Programm soll Informationen über einen Studenten anzeigen und sein Alter in 10 Jahren berechnen:

Original (mit Fehlern):

python
# buggy_student.py
# This program has several errors
 
student_name = "Alice
student_age = 25
 
print("Name:", student_name)
print("Age:" student_age)
print("In 10 years, you will be", student_age + "10")

Wenn wir dies ausführen, entstehen mehrere Fehler. Beheben wir sie nacheinander:

Fehler 1: Nicht abgeschlossene Zeichenkette

  File "buggy_student.py", line 4
    student_name = "Alice
                   ^
SyntaxError: unterminated string literal (detected at line 4)

Korrektur: Das schließende Anführungszeichen hinzufügen:

python
student_name = "Alice"

Nach Beheben von Fehler 1 erhalten wir Fehler 2: Fehlendes Komma

  File "buggy_student.py", line 8
    print("Age:" student_age)
                 ^^^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?

Korrektur: Ein Komma zwischen Zeichenkette und Variable hinzufügen:

python
print("Age:", student_age)

Nach Beheben von Fehler 2 erhalten wir Fehler 3: Typfehler

Traceback (most recent call last):
  File "buggy_student.py", line 9, in <module>
    print("In 10 years, you will be", student_age + "10")
                                      ~~~~~~~~~~~~^~~~~~
TypeError: unsupported operand type(s) for +: 'int' and 'str'

Korrektur: „10“ in eine Ganzzahl umwandeln:

python
print("In 10 years, you will be", student_age + 10)

Endgültige korrigierte Version:

python
# buggy_student_fixed.py
# Fixed version of the program
 
student_name = "Alice"
student_age = 25
 
print("Name:", student_name)
print("Age:", student_age)
print("In 10 years, you will be", student_age + 10)

Ausgabe:

Name: Alice
Age: 25
In 10 years, you will be 35

Dieses Beispiel zeigt, dass das Beheben von Fehlern oft ein iterativer Prozess ist. Sie beheben einen Fehler, führen den Code erneut aus und entdecken den nächsten Fehler. Das ist völlig normal.

1.6) Wann die interaktive Shell und wann Skriptdateien verwenden

Nachdem Sie nun sowohl die REPL als auch Skriptdateien kennengelernt haben, fragen Sie sich vielleicht, wann Sie was verwenden sollten. Beide sind wertvolle Werkzeuge, und erfahrene Python-Programmierer verwenden beide regelmäßig. Zu verstehen, wann welches Werkzeug sinnvoll ist, macht Sie effizienter.

1.6.1) Verwenden Sie die interaktive Shell (REPL), wenn:

1. Sie neue Konzepte lernen

Wenn Sie etwas Neues lernen, liefert Ihnen die REPL sofort Rückmeldungen:

python
>>> # Testing string methods
>>> text = "hello world"
>>> text.upper()
'HELLO WORLD'
>>> text.title()
'Hello World'
>>> text.capitalize()
'Hello world'

Sie können mit verschiedenen Methoden experimentieren und sofort Ergebnisse sehen, ohne Dateien zu erstellen.

2. Sie kleine Codeausschnitte testen

Bevor Sie Code zu Ihrem Programm hinzufügen, testen Sie ihn in der REPL:

python
>>> # Testing a calculation
>>> price = 19.99
>>> quantity = 3
>>> total = price * quantity
>>> total
59.97
>>> # Looks good, now I can add this to my script

3. Sie schnelle Berechnungen durchführen

Die REPL ist jederzeit als Taschenrechner verfügbar:

python
>>> # How many seconds in a day?
>>> 24 * 60 * 60
86400
>>> # What's 15% of 250?
>>> 250 * 0.15
37.5

4. Sie debuggen

Wenn Ihr Skript nicht funktioniert, verwenden Sie die REPL, um einzelne Teile zu testen:

python
>>> # My script isn't working. Let me test this part:
>>> numbers = [1, 2, 3, 4, 5]
>>> sum(numbers) / len(numbers)
3.0
>>> # This works, so the problem must be elsewhere

Hinweis: Wir lernen Listen (lists) in Kapitel 13 kennen. Dieses Beispiel zeigt, wie die REPL hilft, Codeausschnitte zu testen.

1.6.2) Verwenden Sie Skriptdateien, wenn:

1. Sie Programme schreiben, die Sie behalten möchten

Alles, was Sie speichern und erneut ausführen möchten, sollte in einer Skriptdatei stehen:

python
# temperature_converter.py
# A program to convert Fahrenheit to Celsius
 
fahrenheit = 98.6
celsius = (fahrenheit - 32) * 5/9
print("Temperature:", fahrenheit, "°F is", round(celsius, 1), "°C")

Ausgabe:

Temperature: 98.6 °F is 37.0 °C

Sie können dieses Skript ausführen, wann immer Sie es brauchen, und Sie können es später ändern.

2. Sie mehrzeilige Programme schreiben

Obwohl Sie auch mehrzeiligen Code in der REPL schreiben können, ist das für umfangreicheren Code unhandlich. Verwenden Sie eine Skriptdatei:

python
# grade_calculator.py
# Calculate final grade from multiple scores
 
homework = 85
midterm = 78
final = 92
 
# Calculate weighted average
final_grade = (homework * 0.3) + (midterm * 0.3) + (final * 0.4)
 
print("Final Grade:", final_grade)

Ausgabe:

Final Grade: 85.3

3. Sie Code mit anderen teilen

Skriptdateien können leicht geteilt werden, REPL-Sitzungen dagegen nicht:

python
# greeting.py
# A simple greeting program
 
name = input("What is your name? ")
print("Hello,", name + "! Welcome to Python.")

Hinweis: Wir lernen die Funktion input() in Kapitel 2 kennen. Dieses Beispiel zeigt, wie Skripte geteilt werden können.

Sie können diese Datei an jemand anderen schicken, und er kann sie auf seinem Computer ausführen.

4. Sie wiederverwendbare Werkzeuge erstellen

Wenn Sie etwas erstellen, das Sie wiederholt verwenden werden, machen Sie daraus ein Skript:

python
# file_counter.py
# Count files in a directory
 
import os
 
directory = "."  # Current directory
files = [f for f in os.listdir(directory) if os.path.isfile(f)]
print("Number of files:", len(files))

Hinweis: Wir lernen das Importieren von Modulen in Kapitel 22 und List Comprehensions in Kapitel 34 kennen. Dieses Beispiel zeigt, wie Skripte wiederverwendbare Werkzeuge sein können.

5. Sie komplexe Logik entwickeln

Für alles mit mehreren Funktionen (functions), Klassen oder komplexer Logik verwenden Sie Skriptdateien:

python
# password_checker.py
# Check password strength
 
def check_password_strength(password):
    """Check if a password meets basic requirements."""
    if len(password) < 8:
        return "Too short"
    if not any(c.isupper() for c in password):
        return "Needs uppercase letter"
    if not any(c.isdigit() for c in password):
        return "Needs number"
    return "Strong password"
 
# Test the function
test_password = "MyPass123"
result = check_password_strength(test_password)
print("Password '" + test_password + "':", result)

Ausgabe:

Password 'MyPass123': Strong password

Hinweis: Wir lernen Funktionen (functions) in Kapitel 19 kennen. Dieses Beispiel zeigt, wie Skripte komplexe Logik handhaben.

6. Sie Aufgaben automatisieren

Skripte eignen sich hervorragend zur Automatisierung:

python
# backup_reminder.py
# Remind user to backup files
 
import datetime
 
today = datetime.date.today()
day_of_week = today.strftime("%A")
 
if day_of_week == "Friday":
    print("Don't forget to backup your files!")
else:
    print("Backup reminder: Next backup on Friday")

Hinweis: Wir lernen das Modul datetime in Kapitel 39 kennen. Dieses Beispiel zeigt, wie Skripte Aufgaben automatisieren können.

1.6.3) Ein praktischer Workflow

Professionelle Python-Programmierer verwenden REPL und Skriptdateien typischerweise auf komplementäre Weise:

Beispiel-Workflow:

  1. In der REPL erkunden: Ein neues Konzept ausprobieren oder eine Berechnung testen
  2. In der REPL prototypisieren: Eine kleine funktionierende Version erstellen
  3. In ein Skript überführen: Sobald es funktioniert, in eine Skriptdatei übernehmen
  4. Im Skript erweitern: Weitere Funktionen, Fehlerbehandlung usw. hinzufügen
  5. Mit der REPL debuggen: Wenn etwas kaputtgeht, Teile in der REPL testen
  6. Skript fertigstellen: Programm abschließen, testen und speichern

1.6.4) Ein konkretes Beispiel

Sehen wir uns diesen Workflow in Aktion an. Angenommen, Sie möchten ein Programm schreiben, das die Fläche eines Kreises berechnet.

Schritt 1: In der REPL erkunden

python
>>> # What's the formula? Area = π * r²
>>> # Let me use a simple approximation for π
>>> 3.14159 * 5 * 5
78.53975
>>> # Looks right!

Schritt 2: Ein Skript erstellen

Jetzt, da Sie wissen, dass es funktioniert, erstellen Sie circle_area.py:

python
# circle_area.py
# Calculate the area of a circle
 
radius = 5
pi = 3.14159
area = pi * radius * radius
 
print("Radius:", radius)
print("Area:", area)

Ausgabe:

Radius: 5
Area: 78.53975

Schritt 3: Das Skript erweitern

Machen Sie es so, dass es mit verschiedenen Radien funktioniert:

python
# circle_area_enhanced.py
# Calculate area for multiple circles
 
radii = [3, 5, 7, 10]
pi = 3.14159
 
for radius in radii:
    area = pi * radius * radius
    print("Circle with radius", radius, "has area", round(area, 2))

Ausgabe:

Circle with radius 3 has area 28.27
Circle with radius 5 has area 78.54
Circle with radius 7 has area 153.94
Circle with radius 10 has area 314.16

Hinweis: Wir lernen for-Schleifen (for loops) in Kapitel 11 kennen. In Kapitel 2 lernen wir, wie man das interaktiv macht, indem man Eingaben vom Benutzer entgegennimmt.

Dieser Workflow – in der REPL experimentieren und dann in einem Skript formalisieren – ist die Art, wie viele Python-Programme entwickelt werden.

1.6.5) Wichtige Erkenntnisse

Stärken der REPL:

  • Sofortige Rückmeldung
  • Hervorragend zum Lernen
  • Ideal für schnelle Tests
  • Sehr gut zur Exploration
  • Kein Dateimanagement nötig

Einschränkungen der REPL:

  • Code wird nicht gespeichert
  • Unhandlich für mehrzeiligen Code
  • Schwer zu teilen
  • Nicht geeignet für komplexe Programme

Stärken von Skriptdateien:

  • Code wird dauerhaft gespeichert
  • Leicht zu bearbeiten und zu verändern
  • Kann mit anderen geteilt werden
  • Geeignet für komplexe Programme
  • Kann wiederholt ausgeführt werden
  • Kann automatisiert werden

Einschränkungen von Skriptdateien:

  • Erfordert das Erstellen und Verwalten von Dateien
  • Sie müssen sie ausführen, um Ergebnisse zu sehen
  • Mehr Aufwand für schnelle Tests

Der beste Ansatz ist, beides zu verwenden: die REPL für Lernen, Testen und Exploration und Skriptdateien für alles, was Sie behalten, teilen oder wiederholt ausführen möchten.

1.7) Welche Python-Version dieses Buch verwendet (und warum das wichtig ist)

Python hat sich im Laufe der Jahre erheblich weiterentwickelt, und verschiedene Versionen können sich unterschiedlich verhalten. Das Verständnis von Python-Versionen hilft Ihnen, Verwirrung zu vermeiden und sicherzustellen, dass Ihr Code wie erwartet funktioniert.

Sie fragen sich vielleicht, warum wir Zeit auf Python-Versionen verwenden. Der Grund ist einfach: Sie werden Python-Code online, in Tutorials und in der Dokumentation sehen. Das Verständnis von Versionen hilft Ihnen zu erkennen, wann Code veraltet ist, und Verwirrung zu vermeiden, wenn etwas nicht wie erwartet funktioniert.

1.7.1) Python 2 vs. Python 3

Die bedeutendste Trennung in der Geschichte von Python ist die zwischen Python 2 und Python 3.

Python 2 wurde im Jahr 2000 veröffentlicht und war viele Jahre lang die dominierende Version. Es hatte jedoch einige Designprobleme, die nicht behoben werden konnten, ohne bestehenden Code zu zerstören.

Python 3 wurde 2008 als große Neugestaltung veröffentlicht, die diese Probleme behob. Es war jedoch nicht abwärtskompatibel mit Python 2, was bedeutet, dass für Python 2 geschriebener Code in Python 3 oft nicht ohne Anpassungen läuft.

Viele Jahre existierten beide Versionen nebeneinander. Allerdings hat Python 2 am 1. Januar 2020 sein Lebensende (End-of-Life) erreicht. Das bedeutet:

  • Keine Updates oder Sicherheits-Patches mehr für Python 2
  • Alle neue Python-Entwicklung nutzt Python 3
  • Alle wichtigen Bibliotheken sind auf Python 3 umgestiegen
  • Heute Python 2 zu lernen, wird nicht empfohlen

Dieses Buch verwendet ausschließlich Python 3. Alle Codebeispiele sind für Python 3 geschrieben und funktionieren möglicherweise nicht in Python 2.

1.7.2) Python-3-Minor-Versionen

Innerhalb von Python 3 gibt es Minor-Versionen (3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, usw.). Jede Minor-Version fügt neue Funktionen und Verbesserungen hinzu, während sie die Abwärtskompatibilität zu früheren Python-3-Versionen beibehält.

Dieses Buch ist für Python 3.11 und höher geschrieben, aber die meisten Beispiele funktionieren mit Python 3.8 und höher.

Um Ihre Python-Version zu prüfen:

bash
python --version  # Windows
python3 --version  # macOS/Linux

Sie sollten etwas sehen wie:

Python 3.11.5

Wenn Sie sehen:

Python 2.7.18

verwenden Sie Python 2, was veraltet ist. Installieren Sie Python 3 gemäß den Anweisungen in Abschnitt 1.2.

1.7.3) Wichtige Unterschiede, auf die Sie stoßen könnten

Wenn Sie ältere Python-Tutorials oder Code online lesen (insbesondere ältere Tutorials und Stack-Overflow-Antworten von vor 2020), könnten Sie Syntax sehen, die in Python 3 nicht funktioniert. Hier sind die häufigsten Unterschiede:

1. Die print-Anweisung vs. Funktion

Python 2:

python
print "Hello, World!"  # No parentheses

Python 3:

python
print("Hello, World!")  # Parentheses required

In Python 3 ist print eine Funktion (function) und erfordert Klammern. Dies ist der sichtbarste Unterschied.

2. Verhalten bei Division

Diese Änderungen wurden vorgenommen, um Python konsistenter und sicherer zu machen. Zum Beispiel ermöglicht es, print als Funktion zu haben, diese wie jede andere Funktion zu verwenden, und die Änderung, dass / immer Gleitkommadivision durchführt, eliminiert eine häufige Fehlerquelle.

Python 2:

python
>>> 5 / 2
2  # Integer division
>>> 5.0 / 2
2.5  # Float division

Python 3:

python
>>> 5 / 2
2.5  # Always float division
>>> 5 // 2
2  # Integer division (floor division)

In Python 3 führt / immer eine Gleitkommadivision durch. Verwenden Sie // für ganzzahlige Division.

3. Funktion input()

Python 2:

python
name = raw_input("Enter your name: ")  # Returns string
age = input("Enter your age: ")  # Evaluates input as Python code (dangerous!)

Python 3:

python
name = input("Enter your name: ")  # Always returns string
age = int(input("Enter your age: "))  # Convert to int if needed

In Python 3 gibt input() immer eine Zeichenkette zurück, was sicherer und konsistenter ist.

4. Zeichenketten und Unicode

Python 3 geht wesentlich besser mit Text (Unicode) um als Python 2. Alle Zeichenketten in Python 3 sind standardmäßig Unicode, was den Umgang mit internationalem Text erheblich erleichtert.

1.7.4) Funktionen je nach Python-3-Version

Verschiedene Python-3-Versionen haben verschiedene Funktionen eingeführt. Hier ist, was Sie wissen müssen:

Python 3.6 (Dezember 2016):

  • f-Strings für Zeichenkettenformatierung (wir werden sie intensiv verwenden)
python
# f_string_example.py
name = "Alice"
print("Hello, " + name + "!")

Ausgabe:

Hello, Alice!

Hinweis: Wir lernen f-Strings in Kapitel 6 kennen. Für den Moment verwenden wir einfache Zeichenkettenverkettung mit +.

Python 3.8 (Oktober 2019):

  • Der Walrus-Operator (:=) für Zuweisungsausdrücke (wir behandeln ihn in Kapitel 40)

Python 3.10 (Oktober 2021):

  • Strukturelles Pattern Matching mit match und case (wir behandeln dies in Kapitel 12)

Python 3.11 (Oktober 2022):

  • Deutlich verbesserte Fehlermeldungen
  • Bessere Performance
  • Verbesserte Ausnahmebehandlung

Python 3.12 (Oktober 2023):

  • Weitere Performanceverbesserungen
  • Neue Funktionen für Typannotationen
  • Verbesserte f-String-Syntax

1.7.5) Welche Version sollten Sie verwenden?

Empfehlung: Verwenden Sie nach Möglichkeit Python 3.11 oder höher. Gründe:

  1. Bessere Fehlermeldungen: Python 3.11 bietet deutlich verbesserte Fehlermeldungen, die für Einsteiger hilfreicher sind.

  2. Bessere Performance: Python 3.11 ist schneller als frühere Versionen.

  3. Moderne Funktionen: Sie haben Zugriff auf alle aktuellen Python-Funktionen.

  4. Zukunftssicherheit: Code, der für Python 3.11 geschrieben wurde, wird in zukünftigen Versionen funktionieren.

Allerdings gilt: Jede Python-Version ab 3.8 ist für das Lernen mit diesem Buch ausreichend. Die grundlegenden Konzepte bleiben dieselben.

1.7.6) Verfügbarkeit von Funktionen prüfen

Wenn Sie eine ältere Python-Version verwenden und auf Code stoßen, der nicht funktioniert, können Sie prüfen, in welcher Version eine Funktion eingeführt wurde.

Wenn Sie zum Beispiel Python 3.5 oder älter verwenden, müssen Sie möglicherweise eine ältere Zeichenkettenformatierung verwenden:

python
# format_example.py
# Works in all Python 3 versions
name = "Alice"
print("Hello, {}!".format(name))

Ausgabe:

Hello, Alice!

1.7.7) Auf dem Laufenden bleiben

Python veröffentlicht etwa einmal im Jahr eine neue Minor-Version. Auch wenn Sie nicht sofort aktualisieren müssen, ist es gut, einigermaßen aktuell zu bleiben:

  • Prüfen Sie alle paar Monate auf Updates
  • Lesen Sie die Release Notes, um neue Funktionen kennenzulernen
  • Aktualisieren Sie bei Gelegenheit, insbesondere für Sicherheitsupdates
  • Testen Sie Ihren Code nach einem Upgrade, um die Kompatibilität sicherzustellen

Sie finden Python-Releases und Dokumentation unter https://www.python.org/.

1.7.8) Versionskompatibilität in diesem Buch

In diesem Buch gilt:

  • Alle Codebeispiele funktionieren mit Python 3.11+
  • Die meisten Beispiele funktionieren mit Python 3.8+
  • Versionsspezifische Funktionen sind klar gekennzeichnet (z. B. „Erfordert Python 3.10+“)
  • Alternative Ansätze werden bei Bedarf für ältere Versionen angegeben

Wenn Sie Code in diesem Buch sehen, können Sie ihn mit Python 3.11 oder höher bedenkenlos eingeben und erwarten, dass er genau wie gezeigt funktioniert.

1.7.9) Ein Hinweis zu Python-2-Code, den Sie online finden könnten

Wenn Sie online nach Python-Hilfe suchen, könnten Sie auf Python-2-Code stoßen. So erkennen Sie ihn:

Merkmale von Python-2-Code:

  • print ohne Klammern: print "Hello"
  • Funktion raw_input()
  • Division, die Ganzzahlen liefert: 5 / 2 ergibt 2
  • Ältere Zeichenkettenformatierung: "Hello %s" % name
  • Kommentare mit „Python 2“ oder Hinweisen auf Version 2.x

Was Sie tun sollten:

  • Suchen Sie nach Alternativen für Python 3
  • Fügen Sie „python 3“ zu Ihren Suchbegriffen hinzu
  • Prüfen Sie das Datum – alles vor 2020 könnte Python 2 sein
  • Verwenden Sie die offizielle Python-3-Dokumentation: https://docs.python.org/3/

Herzlichen Glückwunsch! Sie haben Kapitel 1 abgeschlossen und Ihre ersten Schritte mit Python gemacht. Sie wissen nun:

  • Was Python ist und wie es funktioniert
  • Wie Sie Python installieren und den Interpreter ausführen
  • Wie Sie die Python-interaktive Shell (REPL) für Experimente nutzen
  • Wie Sie Python-Skriptdateien erstellen und ausführen
  • Wie Sie Fehlermeldungen und Tracebacks lesen und verstehen
  • Wann Sie die REPL und wann Skriptdateien verwenden sollten
  • Welche Python-Version Sie verwenden sollten und warum das wichtig ist

Sie sind nun bereit für Kapitel 2, in dem Sie Ihre ersten vollständigen Python-Programme schreiben, die Funktion print() im Detail kennenlernen und mit Benutzereingaben arbeiten werden. Das Fundament, das Sie in diesem Kapitel gelegt haben, wird alles unterstützen, was Sie im weiteren Verlauf lernen.

© 2025. Primesoft Co., Ltd.
support@primesoft.ai