Seite 1 von 1

Kurze Fragen - Kurze Antwort

Verfasst: Sonntag 27. September 2009, 20:06
von Seeker
Hi!
Ich habe diesen thread aufgemacht, da die Frage eigentlich kein eigenes Topic verdient...

Meine kurze Frage:
Wie nennt man den Einsatz des "%" Zeichens z.B. beim print-Befehl?
Also z.B:
a = apple
print "%s" %a

Ich suche eine Liste mit den verschiedenen specifications, also z.B. %s oder %d.
Dummerweise ignorieren Suchmaschinen solch kurze Ausdrücke. =/

lg, Seeker

PS: @admin&mods: Vielleicht könnte man einen 'Dauerthread' öffnen für genau solche Fragen? Nur ein Gedanke :)

Verfasst: Sonntag 27. September 2009, 20:13
von cofi
Modulo.
Ueberraschung :) Weil das '%' doppeldeutig ist, gibt es ab 2.6 auch die `format` Methode.

http://docs.python.org/library/stdtypes ... formatting

format:
http://docs.python.org/library/string.h ... matstrings

Verfasst: Sonntag 27. September 2009, 20:13
von Seeker
super, danke =)
Also wäre .format eigentlich vorzuziehen?

Verfasst: Sonntag 27. September 2009, 20:24
von BlackJack
@Seeker: Würde ich nicht sagen, aber ich setze ja auch noch hauptsächlich 2.5 ein. :-)

Das ``%`` ist übrigens nicht doppeldeutig, das ist ganz eindeutig der ``%``-Operator und wie bei jedem anderen Operator auch, hängt die Bedeutung von den Typen ab, auf die er angewendet wird. Und er hat auch nichts mit ``print`` zu tun. Wenn Du wissen willst was ein Operator mit bestimmten Typen macht, solltest Du schauen was links davon steht und dann bei dem Typ in der Dokumentation nachschlagen.

Verfasst: Sonntag 27. September 2009, 20:58
von numerix
BlackJack hat geschrieben:Das ``%`` ist übrigens nicht doppeldeutig, das ist ganz eindeutig der ``%``-Operator und wie bei jedem anderen Operator auch, hängt die Bedeutung von den Typen ab, auf die er angewendet wird. Und er hat auch nichts mit ``print`` zu tun. Wenn Du wissen willst was ein Operator mit bestimmten Typen macht, solltest Du schauen was links davon steht und dann bei dem Typ in der Dokumentation nachschlagen.
Das verstehe ich jetzt nicht, es sei denn, die Betonung liegt auf "Operator". Die Verwendung des %-Zeichens kommt auf jeden Fall in zwei unterschiedlichen Kontexten vor und hat dort auch verschiedene Bedeutungen. In dem Kontext, den der OP nennt, würde ich das %-Zeichen als "einleitende Markierung eines Formatspezifierers" bezeichnen, da ist es natürlich kein "Operator". Das %-Zeichen als Operator ist in der Tat eindeutig - darauf wurde ja schon eingegangen.

Verfasst: Sonntag 27. September 2009, 21:29
von Seeker
Und er hat auch nichts mit ``print`` zu tun. Wenn Du wissen willst was ein Operator mit bestimmten Typen macht, solltest Du schauen was links davon steht und dann bei dem Typ in der Dokumentation nachschlagen.
Das ist mir schon bewusst... deshalb habe ich ja "z.B." geschrieben. :)