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.

Code: Alles auswählen

sText = "Welt"
print("Hallo %s!" % sText)
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:

Code: Alles auswählen

print('This is an %s' % 'example')
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

Code: Alles auswählen

print("Hallo %s!", sText)
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