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
-
pythonwird nicht gefunden. Probiere unter Windows stattdessenpyund unter macOS oder Linuxpython3. Verwende anschließend denselben Befehl auch zum Ausführen Deiner Skripte. -
Anführungszeichen vergessen.
print(Hallo)ohne Anführungszeichen behandeltHalloals Namen einer Variablen. Da sie nicht existiert, endet das Programm mit einemNameError. Text gehört in Anführungszeichen:print("Hallo"). -
Die Datei liegt im falschen Verzeichnis.
python dungeon.pyfunktioniert 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.pyendet. -
>>>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:==============================
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!
Anmelden um einen Kommentar zu hinterlassen.