Fonction de formatage format de Python
À partir de Python 2.6, une nouvelle fonction de formatage de chaînes a été ajoutéestr.format(), qui améliore les fonctionnalités de formatage des chaînes.
La syntaxe de base consiste à utiliser{}et:pour remplacer le précédent% 。
La fonction format peut accepter un nombre illimité d'arguments, et leurs positions n'ont pas besoin d'être dans l'ordre.
Exemple
Vous pouvez également définir des paramètres :
Exemple
Le résultat de sortie est:
网站名:Example, 地址 www.example.com 网站名:Example, 地址 www.example.com 网站名:Example, 地址 www.example.com
Vous pouvez aussi passerstr.format()un objet :
Exemple
Le résultat de sortie est:
value 为: 6
Formatage des nombres
Le tableau suivant présente diverses méthodes de formatage des nombres avec str.format() :
>>> print("{:.2f}".format(3.1415926))
3.14
| Number | Format | Sortie | Description |
|---|---|---|---|
| 3.1415926 | {:.2f} | 3.14 | Conserver deux décimales |
| 3.1415926 | {:+.2f} | +3.14 | Conserver deux décimales avec signe |
| -1 | {:-.2f} | -1.00 | Conserver deux décimales avec signe |
| 2.71828 | {:.0f} | 3 | Aucune décimale |
| 5 | {:0>2d} | 05 | Compléter le nombre avec des zéros (remplissage à gauche, largeur 2) |
| 5 | {:x<4d} | 5xxx | Compléter le nombre avec x (remplissage à droite, largeur 4) |
| 10 | {:x<4d} | 10xx | Compléter le nombre avec x (remplissage à droite, largeur 4) |
| 1000000 | {:,} | 1,000,000 | Format de nombre avec des virgules comme séparateurs |
| 0.25 | {:.2%} | 25.00% | Format en pourcentage |
| 1000000000 | {:.2e} | 1.00e+09 | Notation exponentielle |
| 13 | {:>10d} | 13 | Aligné à droite (par défaut, largeur 10) |
| 13 | {:<10d} | 13 | Aligné à gauche (largeur 10) |
| 13 | {:^10d} | 13 | Aligné au centre (largeur 10) |
| 11 | '{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11) |
1011 11 13 b 0xb 0XB |
Base |
^, <, >Ce sont respectivement l'alignement centré, l'alignement à gauche et l'alignement à droite, suivis de la largeur,:Après le signe vient le caractère de remplissage, qui ne peut être qu'un seul caractère. S'il n'est pas spécifié, des espaces sont utilisés par défaut.
+signifie afficher avant les nombres positifs+, et avant les nombres négatifs-; (espace) signifie ajouter un espace avant les nombres positifs
b, d, o, x sont respectivement binaire, décimal, octal et hexadécimal.
De plus, nous pouvons utiliser des accolades{}pour échapper les accolades, comme dans l'exemple suivant :
Exemple
Le résultat de sortie est:
example 对应的位置是 {0}
Autres extensions
Chaîne Python