Formatage de chaîne % vs format, quel est le meilleur ?

anonymity
Libérer: 2019-05-25 11:28:36
original
2422 Les gens l'ont consulté

Il existe deux façons de formater des chaînes en Python : la méthode du signe de pourcentage et la méthode de formatage.

La méthode du signe de pourcentage est relativement ancienne, tandis que la méthode de formatage est une méthode plus avancée et est destinée à remplacer l'ancienne méthode. , actuellement les deux coexistent.

Formatage de chaîne % vs format, quel est le meilleur ?

Mode pourcentage

%[(name)][flags][width].[precision]typecode
Copier après la connexion

(name) Facultatif, utilisé pour sélectionner la clé spécifiée

flags Facultatif, les valeurs disponibles sont :

+ Alignés à droite ; les nombres positifs sont précédés d'un nombre positif, les nombres négatifs sont précédés d'un signe moins

- Les nombres positifs justifiés à gauche ne sont pas signés ; , nombres négatifs Ajoutez un signe négatif avant ;

espace Aligné à droite ; ajoutez un espace avant les nombres positifs, ajoutez un signe moins avant les nombres négatifs ;

0 Aligné à droite ; nombres, ajoutez un signe moins avant les nombres négatifs ; utilisez 0 pour remplir l'espace vide

width Facultatif, occupant la largeur

.precision Facultatif, le nombre de chiffres restant après la virgule décimale

typecode Requis

s, récupère la valeur de retour de la méthode __str__ de l'objet entrant et formate-la à l'emplacement spécifié

r, récupère la valeur de retour de la méthode __repr__ de l'objet entrant objet et formatez-le à l'emplacement spécifié

c, entier : convertissez le nombre en sa valeur unicode correspondante, la plage décimale est 0 <= i <= 1114111 (py27 ne prend en charge que les caractères 0-255) ; : ajoutez le caractère pour spécifier la position

o, convertissez l'entier en représentation octale et formatez-le à la position spécifiée

x, convertissez l'entier en représentation hexadécimale et formatez-le Aller à la position spécifiée

d, convertir les nombres entiers et les nombres à virgule flottante en représentation décimale et les formater à la position spécifiée

e, convertir les nombres entiers et les nombres à virgule flottante en notation scientifique et formater Il est formaté à la position spécifiée (e minuscule)

E, convertit les entiers et les nombres à virgule flottante en notation scientifique, et formaté à la position spécifiée (E majuscule)

f, Convertit les entiers et nombres à virgule flottante en nombres à virgule flottante et formatez-les à la position spécifiée (en conservant 6 chiffres après la virgule décimale par défaut)

F, comme ci-dessus

g, ajustez automatiquement le entiers et nombres à virgule flottante Convertissez-le en virgule flottante ou en notation scientifique (utilisez la notation scientifique pour plus de 6 chiffres) et formatez-le à la position spécifiée (e s'il s'agit d'une notation scientifique ;)

G, automatique l'ajustement convertira les entiers et les nombres à virgule flottante en notation à virgule flottante ou scientifique (plus de 6 chiffres utilisent la notation scientifique) et les formatera à la position spécifiée (E s'il s'agit d'une notation scientifique ;)

% , lorsqu'il y a un indicateur de formatage dans la chaîne, vous devez utiliser %% pour représenter un signe de pourcentage

Remarque : il n'existe aucun moyen de convertir automatiquement des entiers en représentation binaire dans le formatage du signe de pourcentage en Python

tpl = "i am %s" % "alex"
tpl = "i am %s age %d" % ("alex", 18)
tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
tpl = "percent %.2f" % 99.97623
tpl = "i am %(pp).2f" % {"pp": 123.425556, }
tpl = "i am %.2f %%" % {"pp": 123.425556, }
Copier après la connexion
E

Méthode de formatage

[[fill]align][sign][#][0][width][,][.precision][type]
Copier après la connexion

Remplissez les caractères [facultatifs] remplis dans l'espace vide

Alignez la méthode d'alignement [facultatif] (doit être utilisée avec la largeur)

<, le contenu est aligné à gauche

>, le contenu est aligné à droite (par défaut)

=, le contenu est aligné à droite, le symbole est placé à gauche du caractère de remplissage, et uniquement pour les types numériques sont valides. Même si : symbole + remplissage + chiffre

^, le contenu est centré

signe [Facultatif] Il y a des nombres non signés

+, signe positif plus positif, signe négatif plus négatif ;

-, le signe positif reste inchangé, le signe négatif s'ajoute au négatif

espace, le signe positif est un espace, le signe négatif s'ajoute au négatif ;

#                          Octobre et seize -in -proof.

Largeur> width [Facultatif] La largeur des bits de formatage

.precision [Facultatif] Précision de rétention des chiffres décimaux

type [Facultatif] Type de formatage

Saisir "caractère Paramètres du type de chaîne "

s, les données de type chaîne formatées

sont vides, si le type n'est pas spécifié, la valeur par défaut est Aucun, identique à s

passé en "type entier" Le paramètre

b, convertit automatiquement l'entier décimal en représentation binaire puis formate

c, convertit automatiquement l'entier décimal en son caractère Unicode correspondant

d, entier décimal

o, convertit automatiquement l'entier décimal en représentation octale puis le formate

x, convertit automatiquement l'entier décimal en représentation hexadécimale Puis formatez (x minuscule)

X, convertit automatiquement l'entier décimal en représentation hexadécimale puis formate (majuscule Le paramètre de

e, est converti en notation scientifique (e minuscule), puis formaté ;

E, est converti en notation scientifique (E majuscule), puis formaté

f, converti en type à virgule flottante (6 chiffres par défaut après la virgule décimale), puis formaté ; F, converti en virgule flottante (6 chiffres par défaut après la virgule), puis formaté

g, bascule automatiquement entre e et f

G, bascule automatiquement entre E et F

%, affichage du pourcentage (l'affichage par défaut est de 6 chiffres après la virgule décimale)

tpl = "i am {}, age {}, {}".format("seven", 18, &#39;alex&#39;)
tpl = "i am {}, age {}, {}".format(*["seven", 18, &#39;alex&#39;])
tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
tpl = "i am {:s}, age {:d}".format(*["seven", 18])
tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal