command('%d bla blu ') % wert

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
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Hallo,

ich weiß eine blöde Frage, aber ich komme nicht drauf.
Hab auch schon gesucht, aber nur mit einer Variable gefunden.

Code: Alles auswählen

wert = 1
print 'der wert ist %d' % wert
geht wunderbar, aber

Code: Alles auswählen

wert = 1
print 'der %d wert ist %d' % wert  % wert
sprich ich habe einen String, in den ich zwei bzw. mehrere Werte integrieren will.

Gruß und Dank!
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

.... % (wert, wert)
http://www.kinderpornos.info
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Ein grosses Dankeschön von mir an euch!
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ab Python 2.6 geht auch:

Code: Alles auswählen

In [2]: 'der wert nummer {0} ist {1}'.format(42, 0.815)
Out[2]: 'der wert nummer 42 ist 0.815'
In späteren Versionen soll die nervige Durchnummeriererei übrigens abgeschafft werden, so dass auch {} funktioniert.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

snafu hat geschrieben:In späteren Versionen soll die nervige Durchnummeriererei übrigens abgeschafft werden, so dass auch {} funktioniert.
Naja sie ist nich immer nervig, sondern duchaus nützlich, wenn man einen Wert mehrmals braucht (aber ansonsten geb ich dir Recht ;))

Code: Alles auswählen

In [2]: "{0}: Die Antwort auf {1} ist {0}.".format(42, "die Frage nach allem")
Out[2]: '42: Die Antwort auf die Frage nach allem ist 42.'
lunar

Davon abgesehen ist diese "nervige Durchnummerierung" ziemlich wichtig für i18n.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich korrigiere:

In späteren Versionen ist man nicht mehr gezwungen, durchzunummerieren. Denn sie ist nervig, wenn man sie nicht braucht.
Fabian Kochem
User
Beiträge: 36
Registriert: Mittwoch 5. April 2006, 14:11
Wohnort: Köln

Weiterhin funktioniert:

Code: Alles auswählen

>>> print "Mein Name ist %(name)s und ich bin %(alter)i Jahre alt." % {'name':'Max', 'alter':35}
Mein Name ist Max und ich bin 35 Jahre alt.
>>>
Antworten