print %

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
JeanZ
User
Beiträge: 11
Registriert: Samstag 13. November 2010, 14:26
Wohnort: Duisburg

Ich sehe beim Durchlesen von Programmen Anweisungen wie

print('irgendwas...' % irgendwas)

Was bedeutet das %? habe leider im Tutorium nichts gefunden.
senft
User
Beiträge: 25
Registriert: Montag 31. März 2008, 14:47

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
Nebelhom
User
Beiträge: 155
Registriert: Mittwoch 19. Mai 2010, 01:31

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
JeanZ
User
Beiträge: 11
Registriert: Samstag 13. November 2010, 14:26
Wohnort: Duisburg

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 %?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

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
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
JeanZ
User
Beiträge: 11
Registriert: Samstag 13. November 2010, 14:26
Wohnort: Duisburg

Ahh, jetzt dämmert es (?), das % zeigt an, daß der erste String ein Formatstring ist. Danke
schorsch
User
Beiträge: 18
Registriert: Montag 26. November 2007, 18:39

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
Antworten