Zum Inhalt springen

cat posts/python-lernen-01-setup-erste-zeile.md

Python lernen (Teil 1): Installation und erstes Programm

Python installieren, die interaktive REPL ausprobieren und das erste eigene Skript starten – der Beginn unseres kleinen Text-Adventures.

Dies ist der Beginn einer Serie, in der Du Python von Grund auf lernst. Sie richtet sich ausdrücklich an Personen ohne Programmiererfahrung. Kenntnisse einer anderen Programmiersprache setze ich nicht voraus. Du solltest lediglich mit Dateien, einem Texteditor und dem Terminal umgehen können. Alles Weitere kommt Schritt für Schritt.

Ein kleines Text-Adventure zieht sich als roter Faden durch die Serie: Du programmierst nach und nach einen Dungeon. Mit jedem Teil kommt ein neues Sprachkonzept hinzu, bis daraus ein kleines lauffähiges Spiel wird.

Heute bringen wir Python zum Laufen, probieren die interaktive Shell aus und schreiben unser erstes Programm.

Python installieren

Python ist für Windows, macOS und Linux verfügbar. Installiere möglichst eine aktuelle stabile Version. Für diese Serie benötigst Du mindestens Python 3.12. Vorabversionen wie Alpha-, Beta- oder Release-Candidate-Versionen brauchst Du nicht.

Windows: Installiere Python über den Python Install Manager. Anschließend kannst Du Python normalerweise mit python starten. Der Install Manager stellt außerdem den Befehl py bereit.

macOS: Ein eventuell vorhandenes /usr/bin/python3 gehört zu den Entwicklungswerkzeugen von Apple und sollte weder verändert noch gelöscht werden. Installiere stattdessen eine aktuelle Python-Version über den Installer von python.org.

Alternativ kannst Du Python über Homebrew installieren:

brew install python

Python wird unter macOS üblicherweise mit python3 aufgerufen.

Linux: Auf vielen Distributionen ist Python 3 bereits installiert. Prüfe zuerst die vorhandene Version:

python3 --version

Fehlt Python, installiere es möglichst über den Paketmanager Deiner Distribution. Ist die vorhandene Version älter als 3.12 und bieten die Paketquellen keine neuere an, solltest Du nicht einfach das System-Python ersetzen. Viele Linux-Komponenten hängen von genau dieser Version ab. Installiere eine neuere Python-Version in diesem Fall separat.

Prüfen, ob es geklappt hat

Öffne ein Terminal und führe den passenden Befehl aus:

Betriebssystem Typischer Befehl
Windows python --version oder py --version
macOS python3 --version
Linux python3 --version

Mit einer aktuellen Installation sieht die Ausgabe beispielsweise so aus:

Python 3.14.7

Merke Dir, welcher Befehl bei Dir funktioniert. In dieser Serie verwende ich der Einfachheit halber python. Nutzt Dein System stattdessen python3 oder py, ersetzt Du den Befehl entsprechend.

Die REPL: Python als Taschenrechner

Startest Du Python ohne Dateinamen, landest Du in der REPL. Die Abkürzung steht für Read-Eval-Print Loop: Python liest Deine Eingabe, wertet sie aus, zeigt das Ergebnis an und wartet auf die nächste Eingabe.

Du erkennst die REPL am Prompt >>>:

>>> 2 + 2
4
>>> "Hallo" * 3
'HalloHalloHallo'

Die Zeichen >>> zeigt Python selbst an. Du tippst nur das ein, was dahinter steht.

Die REPL ist praktisch, um kleine Ausdrücke und Sprachkonstrukte auszuprobieren, ohne dafür jedes Mal eine Datei anzulegen. Mit exit() kannst Du sie auf allen Systemen wieder verlassen. Unter macOS und Linux funktioniert außerdem Strg+D, unter Windows Strg+Z gefolgt von Enter.

Ein Projektverzeichnis anlegen

Lege nun einen Ordner für die Dateien dieser Serie an und wechsle hinein:

mkdir python-lernen
cd python-lernen

Speichere die Dateien der folgenden Schritte in diesem Verzeichnis. So kannst Du sie später bequem vom Terminal aus starten.

Das erste Skript

Möchtest Du Code speichern und später erneut ausführen, schreibst Du ihn in eine Datei. Dafür reicht ein einfacher Texteditor. Komfortabler ist ein Code-Editor wie Visual Studio Code.

Lege im Projektverzeichnis eine Datei namens hallo.py an:

# Das erste Python-Programm
print("Hallo, Dungeon.")

Die erste Zeile ist ein Kommentar. Alles ab dem Rautezeichen (#) bis zum Zeilenende wird von Python ignoriert. Kommentare helfen Dir dabei, Code zu erklären oder später schneller zu verstehen, warum Du etwas auf eine bestimmte Weise geschrieben hast.

print(...) gibt aus, was zwischen den Klammern steht. In diesem Fall ist das eine Zeichenkette, in Python String genannt.

Führe die Datei im Terminal aus:

python hallo.py

Auf dem Bildschirm erscheint:

Hallo, Dungeon.

Damit hast Du Dein erstes Python-Programm geschrieben und ausgeführt.

Eingaben mit input

Programme, die nur vorgegebene Texte ausgeben, werden schnell langweilig. Mit input(...) kannst Du den Nutzer etwas fragen. Die Funktion zeigt einen Text an, wartet auf eine Eingabe und liefert das Getippte zurück, sobald der Nutzer Enter drückt.

Die Eingabe können wir in einer Variablen speichern:

name = input("Wie heißt Du? ")
print("Hallo,", name)

Mit name = bekommt die Eingabe einen Namen, unter dem wir später wieder darauf zugreifen können. In der zweiten Zeile wird sie ausgegeben.

print erhält hier zwei Werte: den String "Hallo," und die Variable name. Zwischen mehreren Werten setzt print standardmäßig ein Leerzeichen.

input(...) liefert eine Eingabe immer als String zurück – auch dann, wenn der Nutzer eine Zahl eingibt. Wie daraus eine echte Zahl wird, behandeln wir im nächsten Teil.

Der Dungeon, Schritt 1

Genug der Theorie – bauen wir unser Spiel. Für den Anfang brauchen wir nicht mehr als print, input und eine Variable.

Lege eine Datei namens dungeon.py an:

# Dungeon – Teil 1: Begrüßung
print("Du stehst vor dem rostigen Tor eines vergessenen Verlieses.")
print("Ein kalter Luftzug weht Dir entgegen.")

name = input("Wie heißt Du, Abenteurer? ")

print("Willkommen, " + name + "! Möge Dein Mut größer sein als Deine Vorsicht.")

Neu ist in der letzten Zeile das Pluszeichen:

"Willkommen, " + name + "!"

Mit + lassen sich Strings miteinander verbinden. So können wir den zuvor gespeicherten Namen direkt in den Begrüßungssatz einbauen.

Eine bequemere Möglichkeit dafür sind sogenannte f-Strings. Die lernen wir im nächsten Teil kennen.

Führe das Programm aus:

python dungeon.py

Die Ausgabe sieht beispielsweise so aus:

Du stehst vor dem rostigen Tor eines vergessenen Verlieses.
Ein kalter Luftzug weht Dir entgegen.
Wie heißt Du, Abenteurer? Karl
Willkommen, Karl! Möge Dein Mut größer sein als Deine Vorsicht.

Das ist der vollständige Stand nach Teil 1. Speichere die Datei – im nächsten Teil bauen wir darauf auf.

Stolperfallen

  • python wird nicht gefunden. Probiere unter Windows stattdessen py und unter macOS oder Linux python3. Verwende anschließend denselben Befehl auch zum Ausführen Deiner Skripte.

  • Anführungszeichen vergessen. print(Hallo) ohne Anführungszeichen behandelt Hallo als Namen einer Variablen. Da sie nicht existiert, endet das Programm mit einem NameError. Text gehört in Anführungszeichen: print("Hallo").

  • Die Datei liegt im falschen Verzeichnis. python dungeon.py funktioniert nur, wenn Du Dich im Terminal im Verzeichnis der Datei befindest oder den entsprechenden Pfad angibst. Andernfalls meldet Python, dass die Datei nicht gefunden wurde.

  • Die Datei heißt versehentlich dungeon.py.txt. Besonders unter Windows können bekannte Dateiendungen ausgeblendet sein. Kontrolliere, ob die Datei tatsächlich auf .py endet.

  • >>> wurde in die Datei kopiert. Die Zeichen >>> gehören nur zur REPL. Schreibe sie nicht in eine Python-Datei.

Übungen

1. Eine Lieblingswaffe abfragen

Lass den Dungeon nach dem Namen zusätzlich nach der Lieblingswaffe des Spielers fragen und gib beides anschließend in einem Satz aus.

Lösung
print("Du stehst vor dem rostigen Tor eines vergessenen Verlieses.")

name = input("Wie heißt Du, Abenteurer? ")
waffe = input("Womit kämpfst Du? ")

print(name + " betritt das Verlies, bewaffnet mit " + waffe + ".")

2. Texte wiederholen

Was gibt der folgende Befehl aus?

print("=" * 30)

Wofür könnte eine solche Ausgabe in einem Text-Adventure verwendet werden?

Lösung Der Befehl erzeugt eine Zeile aus 30 Gleichheitszeichen:
==============================
Der Operator `*` wiederholt bei Strings den angegebenen Text. Eine solche Zeile könnte beispielsweise Räume, Abschnitte oder Überschriften voneinander trennen.

Vertiefung

Mehr aus der interaktiven Shell herausholen:

REPL-Power: IPython und ptpython

Was beim Start eines Skripts technisch passiert:

Was passiert bei python skript.py?

Im nächsten Teil

Bisher merkt sich unser Dungeon nur einen Namen. In Teil 2 geht es um Werte und Variablen: verschiedene Datentypen, Zahlen, das Rechnen damit und f-Strings.

Damit bekommt unser Abenteurer Lebenspunkte und eine ordentliche Statuszeile.

0 Kommentare

Noch keine Kommentare. Sei der/die Erste!