Seite 1 von 1

command('%d bla blu ') % wert

Verfasst: Freitag 5. Juni 2009, 16:05
von mayx
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!

Verfasst: Freitag 5. Juni 2009, 16:08
von Dill
.... % (wert, wert)

Verfasst: Freitag 5. Juni 2009, 16:09
von cofi

Verfasst: Freitag 5. Juni 2009, 16:15
von mayx
Ein grosses Dankeschön von mir an euch!

Verfasst: Freitag 5. Juni 2009, 16:17
von snafu
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.

Verfasst: Freitag 5. Juni 2009, 16:29
von cofi
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.'

Verfasst: Freitag 5. Juni 2009, 16:55
von lunar
Davon abgesehen ist diese "nervige Durchnummerierung" ziemlich wichtig für i18n.

Verfasst: Freitag 5. Juni 2009, 18:54
von snafu
Ich korrigiere:

In späteren Versionen ist man nicht mehr gezwungen, durchzunummerieren. Denn sie ist nervig, wenn man sie nicht braucht.

Verfasst: Mittwoch 10. Juni 2009, 09:13
von Fabian Kochem
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.
>>>