F-Strings
Warum brauchen wir das?
So wird es schnell unübersichtlich:
print("Hallo " + name + ", du hast " + str(punkte) + " Punkte!")
Probleme:
- viele
+ str(...)nötig- leicht Leerzeichen vergessen
Mit einem f-String:
print(f"Hallo {name}, du hast {punkte} Punkte!")
Lesbarer. Weniger Fehler. Weniger Chaos.
Definition: f-String
Definition:
Ein f-String ist ein String, der mit einemfdirekt vor den Anführungszeichen beginnt.
Innerhalb des Strings kannst du in geschweiften Klammern Werte einsetzen.
f"Text {variable} Text"
| Teil | Bedeutung |
|---|---|
f | „formatierter String“ / Einsetz-Modus |
"..." | normaler String-Rahmen |
{name} | Platzhalter: setze den Wert von name hier ein |
Lily und der Punktesatz
name = "Lily"
punkte = 18
print(f"{name} hat {punkte} Punkte.")
Ausgabe:
Lily hat 18 Punkte.
Py: „Das f schaltet den Einsetz-Modus ein.“
Buggy vergisst das f – dann erscheinen die Klammern als normaler Text.
Neue Wörter
String mit f davor; Werte in geschweiften Klammern werden eingesetzt.
Die Stelle im Text, an der ein Wert eingesetzt wird.
Mit und ohne f – der große Unterschied
name = "Luna"
print(f"Hallo {name}")
print("Hallo {name}")
| Code | Ausgabe |
|---|---|
mit f | Hallo Luna |
ohne f | Hallo {name} |
Ohne f sind die geschweiften Klammern nur Text.
Auch Ausdrücke sind erlaubt
a = 3
b = 4
print(f"Summe: {a + b}")
Ausgabe: Summe: 7
Für den Anfang: lieber kurze, klare Ausdrücke in den Klammern.
Mehrere Platzhalter
held = "Py"
level = 3
print(f"Held {held} ist auf Level {level}.")
Was passiert im Computer?
- Python sieht das
f. - Es sucht geschweifte Klammern im String.
- Es berechnet/ersetzt die Werte.
- Es erzeugt den fertigen Text.
printzeigt ihn an.
Häufige Fehler
| Fehler | Folge |
|---|---|
f vergessen | Klammern bleiben sichtbar |
| Variable falsch geschrieben | NameError |
| Anführungszeichen im String unpassend | SyntaxError |
Probiere es selbst
Experiment 1
name = input("Name: ")
print(f"Willkommen, {name}!")
Experiment 2
Name, Alter, Fach in einem Satz.
Experiment 3
preis = 2
anzahl = 5
print(f"Gesamt: {preis * anzahl} Euro")
Fehlerdetektiv
name = "Lily"
print("{name} lernt Python.")
Lösung
f fehlt:
print(f"{name} lernt Python.")
Übungen
Level 1
tier = "Panda" → f-String: Mein Lieblingstier ist Panda.
Lösung
tier = "Panda"
print(f"Mein Lieblingstier ist {tier}.")
Level 2
Zwei Eingaben, ein f-String-Satz.
Lösung
name = input("Name: ")
stadt = input("Stadt: ")
print(f"{name} kommt aus {stadt}.")
Level 3
Status wie ein Spiel-HUD: Name, Leben, Punkte in drei f-String-Zeilen.
Beispiel
name = input("Name: ")
leben = int(input("Leben: "))
punkte = int(input("Punkte: "))
print(f"Spieler: {name}")
print(f"Leben: {leben}")
print(f"Punkte: {punkte}")
Mini-Challenge
Baue eine einzeilige „News-Meldung“ aus drei Variablen.
Erkläre: Was passiert, wenn das f fehlt?
Zusammenfassung
- f-Strings setzen Werte elegant in Text ein.
fmuss vor dem String stehen.- Platzhalter in geschweiften Klammern.
- Zahlen werden automatisch eingebaut.
- Ohne
fbleiben die Klammern normaler Text.
Mini-Quiz
- Warum sind f-Strings oft besser als viele Plus-Zeichen?
- Darf man in den Klammern
a + bschreiben? - Was macht
f"Hi {name}"?
Lösungen
- Kürzer und übersichtlicher.
- Ja.
- Setzt den Wert von name ein.
f-Strings sitzen! Als Nächstes: Textlänge mit len().