Cet exemple montre la méthode rjust() des objets string, qui permet de justifier une chaîne à droite dans un champ d'une largeur donnée en la remplissant à gauche d'espaces. Il existe des méthodes similaires à ljust() et center(). Ces méthodes n'écrivent rien, mais retournent une nouvelle chaîne. Si la chaîne donnée est trop longue, ils ne coupent rien, mais la retournent inchangée ; cela ruinera le layout, mais c'est généralement mieux que l'alternative de falsifier la valeur. (Si vous voulez vraiment tronquer, vous pouvez toujours ajouter une opération de coupe, par exemple x.ljust(n)[:n].
Il y a une autre méthode, zfill(), qui remplit une chaîne numérique avec des zéros. Il comprend également les signes plus et moins :
>>>>> '12'.zfill(5)
'00012'
>>>> zfill(7)
'-003.14'
>>>> 3.14159265359'.zfill(5)
'3.14159265359'
L'utilisation la plus simple de la méthode format() est la suivante :
>>> print('Nous sommes les {} qui disent "{} !".'''.format('Knight','Ni'))))
Nous sommes les chevaliers qui disent : "Non !".
Les parenthèses et les caractères qu'elles contiennent (appelés champs de format) sont remplacés par des objets passés à la méthode format(). Un nombre entre parenthèses fait référence à la position de l'objet passé à la méthode format().
>>> print('0} et {1}''.format('spam','eggs')).
le spam et les œufs
>>> print('1'} et {0}''.format('spam','eggs')))).
œufs et spam
Si des arguments de mot-clé sont utilisés dans la méthode format(), leurs valeurs peuvent être rapportées en utilisant le nom de l'argument.
>>>Imprimer ('This {food} is {adjective}.'.format(food='spam',
adjectif = "absolument terrible"))))))))))))
Ce spam est absolument horrible.
L'emplacement et les sujets des mots-clés peuvent être combinés arbitrairement :
>>>Print('L'histoire de {0}, {1} et {autre}.'.format('Bill',
Manfred', autre='Georg'))))))))))))))
L'histoire de Bill, Manfred et Georg.
'!a' (application ascii()), '!s' (application str()) et '!r' (application repr()) peuvent être utilisés pour convertir la valeur donnée avant son formatage :
>>> Importer des maths
>>> imprimer ('La valeur de PI est approximativement {}...''''.format(math.pi)))
La valeur de PI est d'environ 3,14159265359.
>>> Imprimer ('La valeur PI est approximativement {!r}...''''.format(math.pi))))
La valeur de PI est d'environ 3,14159265653553553589793.
Un facultatif ':':':' avec spécificateur de format peut suivre le nom du champ. Cela permet de mieux contrôler la façon dont la valeur est formatée. L'exemple suivant arrondit Pi à trois chiffres après la virgule.
>>> Importer des maths
>>> imprimer ('La valeur de Pi est environ {0 :.3f}.''format(math.pi))
La valeur de Pi est d'environ 3 142.
Si vous passez un entier après ':', vous créez une largeur minimale pour ce champ. Ceci est utile pour rendre les tables plus belles.
>>> table = {'Sjoerd' : 4127,'Jack' : 4098,'Dcab' : 7678}
>>>>> par nom, téléphone dans table.items() :
.... print('{0:10} ===> {1:10d}'.format(nom, téléphone))
...
Jack =====> 4098
Dcab =====> 7678
Sjoerd ===> 4127
Si vous avez une chaîne de format très longue que vous ne voulez pas fractionner, ce serait bien si vous pouviez vous référer aux variables à formater par nom plutôt que par position. Ceci peut être fait facilement en passant le dictionnaire et en accédant aux touches à l'aide des crochets '[]'.
>>> Sync & ; corrections par honeybunny ;
>>>>> Sjoerd : {0[Sjoerd]:d} ; et
Dcab : {0[Dcab]:d}''.format(table))
Vérin : 4098 ; Sjoerd : 4127 ; Dcab : 8637678
Ceci pourrait également être réalisé en passant la table comme argument de mot-clé avec la notation "**".
>>> table = {'Sjoerd' : 4127,'Jack' : 4098,'Dcab' : 8637678}
>>>> Print('Jack : {Jack:d} ; Sjoerd : {Sjoerd:d} ; Dcab : {Dcab:d}'.format(**table)).
Vérin : 4098 ; Sjoerd : 4127 ; Dcab : 8637678
Ceci est particulièrement utile en conjonction avec la fonction intégrée vars(), qui retourne un dictionnaire avec toutes les variables locales.
La syntaxe des chaînes de formatage fournit une vue d'ensemble complète du formatage des chaînes de formatage avec format().
Ancien formatage des chaînes de caractères
L'opérateur % peut également être utilisé pour le formatage des chaînes. Il interprète l'argument de gauche exactement comme une chaîne au format sprintf()- comme une chaîne à appliquer à l'argument de droite et retourne la chaîne résultante de cette opération de formatage. Par exemple :
>>> Importation de mathématiques
>>> imprimer ('La valeur de Pi est d'environ %5.3f.'' % math.pi)
La valeur de Pi est d'environ 3 142.
Puisque format() est tout à fait nouveau, la plupart des codes Python utilisent encore l'opérateur %. Cependant, format() devrait être utilisé principalement parce que l'ancien mode de formatage sera éventuellement supprimé de la langue.
Plus d'informations peuvent être trouvées dans la section Formatage d'anciennes opérations de chaînes de caractères.