>>> x = 10 * 3.14 >>> y = 200*200 >>> s = 'La valeur de x est ' + `x` + ', et y est ' + `y` + '...' >>> print s La valeur de x est 31.4, et y est 40000... >>> # Les anti-quotes marchent avec d'autres types en dehors des nombres: ... p = [x, y] >>> ps = repr(p) >>> ps '[31.4, 40000]' >>> # Convertir une chaîne ajoute des quotes de chaîne et des antislash: ... salut = 'salut, monde\n' >>> saluts = `salut` >>> print saluts 'salut, monde\012' >>> # L'argument des anti-quotes peut être un tuple: ... `x, y, ('spam', 'eggs')` "(31.4, 40000, ('spam', 'eggs'))"
>>> import string >>> for x in range(1, 11): ... print string.rjust(`x`, 2), string.rjust(`x*x`, 3), ... # Notez la virgule à la fin de la ligne précédente ... print string.rjust(`x*x*x`, 4) ... 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000 >>> for x in range(1,11): ... print '%2d %3d %4d' % (x, x*x, x*x*x) ... 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000
>>> string.zfill('12', 5) '00012' >>> string.zfill('-3.14', 7) '-003.14' >>> string.zfill('3.14159265359', 5) '3.14159265359'
>>> import math >>> print 'La valeur de PI est approximativement %5.3f.' % math.pi La valeur de PI est approximativement 3.142.
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} >>> for nom, telephone in table.elements(): ... print '%-10s ==> %10d' % (nom, telephone) ... Jack ==> 4098 Dcab ==> 8637678 Sjoerd ==> 4127
%s
est moins strict : si l'argument correspondant n'est pas un
objet chaîne de caractères, il est converti en chaîne de caractères en
utilisant la fonction intégrée str(). Utiliser *
pour passer la largeur ou la précision comme argument (entier) séparé
est possible. Les formats %n
et %p
du C ne sont pas
supportés.
Si vous avez une chaîne de caractères de formatage vraiment longue que
vous ne voulez pas fractionner, il serait élégant de pouvoir
référencer les variables à formater par leur nom et pas par leur
position. Ceci peut être fait en utilisant une extension des formats
du C en utilisant la forme %(name)format
, par exemple.
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} >>> print 'Jack: %(Jack)d; Sjoerd: %(Sjoerd)d; Dcab: %(Dcab)d' % table Jack: 4098; Sjoerd: 4127; Dcab: 8637678