Seite 1 von 1

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

Verfasst: Dienstag 5. Februar 2008, 03:19
von el_bobo
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

Verfasst: Dienstag 5. Februar 2008, 07:35
von Crush
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

Verfasst: Dienstag 5. Februar 2008, 13:30
von el_bobo
Super, danke für den Link.

(Das Komma ist wirklich falsch. :roll: )

Verfasst: Mittwoch 6. Februar 2008, 10:13
von jens
[wiki]String-Formatter[/wiki]