Seite 1 von 1
print %
Verfasst: Mittwoch 24. November 2010, 09:20
von JeanZ
Ich sehe beim Durchlesen von Programmen Anweisungen wie
print('irgendwas...' % irgendwas)
Was bedeutet das %? habe leider im Tutorium nichts gefunden.
Re: print %
Verfasst: Mittwoch 24. November 2010, 09:43
von senft
In dem String ('irgendwas...') kannst du Platzhalter für Variabeln unterbringen. Diese variablen werden dann - in der selben Reihenfolge wie die Platzhalter - hinter dem % angegeben.
Ergibt also "Hallo Welt!".
http://docs.python.org/library/stdtypes ... operations
Re: print %
Verfasst: Mittwoch 24. November 2010, 09:45
von Nebelhom
Das ist ein standard string operator und agiert als Platzhalter in strings.
Beispiel:
Aber ab Python3 will man das anscheinend abschaffen und durch string.format() ersetzen, soweit ich das gesehen habe.
Vergleiche hierzu auch
http://docs.python.org/library/string.html
Abschnitt 7.1.3.2. Format examples
Re: print %
Verfasst: Mittwoch 24. November 2010, 09:54
von JeanZ
Ich würde das
schreiben, also mit Komma. Ist das eine veraltete Notation vor 3.0 mit dem %?
Re: print %
Verfasst: Mittwoch 24. November 2010, 10:09
von EyDu
JeanZ hat geschrieben:schreiben, also mit Komma. Ist das eine veraltete Notation vor 3.0 mit dem %?
Das macht etwas anderes als die oben genannte Variante. Probiere einfach mal beides aus und schaue dir die Ergebnisse an.
Re: print %
Verfasst: Mittwoch 24. November 2010, 10:39
von Xynon1
Paralell dazu solltest du dir gleich die
".format(...)"-Methode für Strings ansehen,
da diese auch Platzhalter bedient und ab Python 3.0 Standard ist.
Die komplette Syntax dieser Methode findest du hier:
http://docs.python.org/library/string.h ... matstrings
Re: print %
Verfasst: Mittwoch 24. November 2010, 11:09
von JeanZ
Ahh, jetzt dämmert es (?), das % zeigt an, daß der erste String ein Formatstring ist. Danke
Re: print %
Verfasst: Mittwoch 24. November 2010, 11:53
von schorsch
Eventuell sollte man dabei sagen, dass der %-Operator dieses Verhalten nur bei Strings hat. Wenn auf beiden Seiten Zahlen stehen kennzeichnet er die Modulo-Operation.
edit: War missverständlich ausgedrückt