%-Notation bei Strings (%d, %s, %02.f)?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
el_bobo
User
Beiträge: 23
Registriert: Dienstag 15. Januar 2008, 02:11

Hallo zusammen,

vielleicht eine erstaunlich trviale Frage, aber bisher habe ich noch nirgendwo etwas über die %-Notation gelesen.

Beispiel:

Code: Alles auswählen

s = "abc %s def"
print s, % "blah"
Ich weiß wohl, dass das "abc blah def" ausgibt.
Ich vermute auch, dass "%s" für einen String und "%d" für ein "digit" (int?) steht, aber ich habe nie wirklich etwas darüber gelesen.
Wie heißt diese Notation (für eine google-Suche)? Was ist z.B. "%02.f"?

Grüße,
el_bobo
Crush
User
Beiträge: 44
Registriert: Montag 1. Mai 2006, 11:32

Hallo el_bobo,

Hier findest du eine ausführliche Erläuterung zu "String Formatting": http://docs.python.org/lib/typesseq-strings.html

Mit "%02.f" erhältst du also eine Ausgabe eines Floats, die mindestens 2 Zeichen vor dem Dezimalpunkt anzeigt (falls die Zahl < 10 ist, wird eine 0 vorangestellt). Der Punkt beeutet, dass keine Nachkommastellen ausgegeben werden (gleichwertig wie "%02.0f"). Somit gibt ergibt da Folgendes:

Code: Alles auswählen

>>> print "--> %02.f" % 1.234
--> 01
In deinem Code ist übrigens das Komma falsch, es müsste "print s % "blah"" heissen. ;)

Gruss Crush
el_bobo
User
Beiträge: 23
Registriert: Dienstag 15. Januar 2008, 02:11

Super, danke für den Link.

(Das Komma ist wirklich falsch. :roll: )
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

[wiki]String-Formatter[/wiki]

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten