Zum Hauptinhalt springen

Strings und Anführungszeichen

Warum brauchen wir das?

Python muss wissen:

  • Wo beginnt ein Text?
  • Wo endet er?

Dafür gibt es Anführungszeichen.
Ohne sie verwechselt Python Text leicht mit Namen, Zahlen oder Befehlen.

Stell dir vor, du schreibst ohne Anführungszeichen:

print(Hallo)

Python sucht dann eine Variable namens Hallo – und findet sie oft nicht. Mit Anführungszeichen ist klar: das ist Text.

Definition: String und Anführungszeichen

Definition – String:
Ein String ist ein Textwert: eine Folge von Zeichen
(Buchstaben, Ziffern, Leerzeichen, Satzzeichen, Emojis) in Anführungszeichen.

Definition – Anführungszeichen:
Sie markieren Anfang und Ende eines Strings.
Erlaubt: "..." oder '...'.
Anfang und Ende müssen zusammenpassen.

print("Python macht Spaß!")
print('Heute übe ich.')

Luna und das Schaufenster

Luna will anzeigen:

Python macht Spaß!

Py: „Das ist ein String – eine Kette aus Zeichen, wie Perlen auf einer Schnur.“
Lily: „Die Anführungszeichen sind der Rahmen des Schaufensters.“
Buggy: „Vergiss ein Anführungszeichen, und ich mache Party – SyntaxError!“

Neue Wörter

Stringstring

Textwert in Anfuehrungszeichen.

Zeichencharacter

Ein einzelnes Symbol im Text.

Anfuehrungszeichenquotation marks

Markieren Anfang und Ende eines Strings.

Doppelte und einfache Anführungszeichen

Beide sind erlaubt und bedeuten dasselbe:

print("Hallo")
print('Hallo')

Nicht mischen in einem String:

# print("Hallo') # falsch – Paar muss zusammenpassen

Anführungszeichen im Text

Trick: äußere und innere Art mischen:

print('Der Fuchs sagt: "Hallo!"')
print("Der Fuchs sagt: 'Hallo!'")

So kannst du Zitate darstellen, ohne den String zu zerreißen.

Leerzeichen zählen mit

print("A B")
print("AB")

Das sind zwei verschiedene Ausgaben – das Leerzeichen ist ein echtes Zeichen. Es sieht „leer“ aus, zählt aber mit (später bei len wichtig).

Text vs. Zahl – der Rahmen entscheidet

print(123) # Zahl
print("123") # Text aus den Zeichen 1, 2, 3

Beide können ähnlich aussehen – aber nur die Zahl ist zum Rechnen da, solange du nicht umwandelst.

Was passiert im Computer?

  1. Python sieht ein Anführungszeichen.
  2. Es schaltet in den „Text-Modus“.
  3. Es liest Zeichen, bis das passende schließende Anführungszeichen kommt.
  4. Der fertige String kann an print oder in eine Variable.
  5. Passt etwas nicht → SyntaxError.

Häufige Fehler

FehlerProblem
nur ein AnführungszeichenSyntaxError
gemischte Paare "...'SyntaxError
Text ohne Anführungszeichenoft NameError
Zahl und Text verwechseln"2"+"2" vs 2+2

Rate mal!

Welche Zeilen funktionieren?

print("Hallo")
print('Hallo')
print("Hallo')
print(Hallo)
Aufloesung

1 und 2 ok. 3 gemischt. 4 kein String (Variable).

Probiere es selbst

Experiment 1

Beide Arten von Anführungszeichen mit demselben Text.

Experiment 2

Leerzeichen-Experiment A B vs AB.

Experiment 3

Zitat mit Anführungszeichen im Text.

Experiment 4

Vergleiche print(10) und print("10") – siehst du einen Unterschied?

Fehlerdetektiv

print("Hallo')
Loesung anzeigen

Paar muss zusammenpassen:

print("Hallo")
# oder
print('Hallo')

Übungen

Level 1 – Entdecken

Gib dein Lieblingsessen als String aus.

Loesung
print("Pizza")

Level 2 – Anwenden

Der Fuchs sagt: Hallo!

Loesung
print("Der Fuchs sagt: Hallo!")

Level 3 – Erweitern

Lily sagt: "Code ist cool!" (mit Anführungszeichen im Text)

Loesung
print('Lily sagt: "Code ist cool!"')

Mini-Challenge

Drei Ausgaben: Name in "...", Hobby in '...', ein Zitat.
Erkläre: Warum braucht Text einen Rahmen?

Zusammenfassung

  • String = Textwert.
  • Anführungszeichen markieren Anfang und Ende.
  • "..." und '...' sind erlaubt.
  • Paare müssen zusammenpassen.
  • Leerzeichen sind Zeichen.
  • 123 ohne Anführungszeichen ist Zahl, "123" ist Text.

Mini-Quiz

Mini-QuizWas ist ein String?
  1. Wie viele Anführungszeichen braucht ein einfacher String (Anfang+Ende)?
  2. Dürfen einfache Anführungszeichen verwendet werden?
  3. Ist 123 ohne Anführungszeichen Text?
Loesungen
  1. Zwei.
  2. Ja.
  3. Nein – Zahl.

Saubere Strings! Als Nächstes: mehrere Zeilen ausgeben.