Python Language Format imbriqué


Exemple

Certains formats peuvent prendre des paramètres supplémentaires, tels que la largeur de la chaîne formatée ou l'alignement:

>>> '{:.>10}'.format('foo')
'.......foo'

Ceux-ci peuvent également être fournis en tant que paramètres à format en imbriquant plus {} dans le {} :

>>> '{:.>{}}'.format('foo', 10)
'.......foo'
'{:{}{}{}}'.format('foo', '*', '^', 15)
'******foo******'

Dans ce dernier exemple, la chaîne de format '{:{}{}{}}' est modifiée en '{:*^15}' (c.-à-d. Centre et pavé avec * pour une longueur totale de 15 ") avant de l'appliquer au chaîne réelle 'foo' à formater de cette façon.

Cela peut être utile dans les cas où les paramètres ne sont pas connus à l'avance, pour les instances lors de l'alignement des données tabulaires:

>>> data = ["a", "bbbbbbb", "ccc"]
>>> m = max(map(len, data))
>>> for d in data:
...     print('{:>{}}'.format(d, m))
      a
bbbbbbb
    ccc