Leformat()>est un outil puissant qui permet aux développeurs de créer des chaînes formatées en intégrant des variables et des valeurs dans des espaces réservés au sein d'une chaîne de modèle. Cette méthode offre un moyen flexible et polyvalent de construire une sortie textuelle pour un large éventail d'applications. Python fonction format de chaîne() a été introduit pour gérer plus efficacement le formatage de chaînes complexes. Parfois, nous souhaitons faire des instructions d'impression généralisées dans ce cas au lieu d'écrire des instructions d'impression à chaque fois que nous utilisons le concept de formatage.
Syntaxe du format de chaîne Python()
Syntaxe: { }.format(valeur)
Paramètres:
- valeur : Peut être un entier, une constante numérique à virgule flottante, une chaîne, des caractères ou même des variables.
Type de retour : Renvoie une chaîne formatée avec la valeur passée en paramètre à la position de l'espace réservé.
Format de chaîne() dans l'exemple Python
Une démonstration simple de la méthode Python String format() dans Python.
Python3
name>=> 'Ram'> age>=> 22> message>=> 'My name>is> {>0>}>and> I am {>1>} years> >old. {>1>}>is> my favorite> >number.'.>format>(name, age)> print>(message)> |
>
>
Sortir
My name is Ram and I am 22 years old. 22 is my favorite number.>
Utilisation de la méthode .Format()
Cette méthode de la classe de chaîne intégrée fournit des fonctionnalités pour les substitutions de variables complexes et le formatage des valeurs. Cette nouvelle technique de formatage est considérée comme plus élégante. La syntaxe générale de la méthode format() est string.format(var1, var2,…). Ici, nous allons essayer de comprendre comment formater une chaîne contenant des accolades Python .
Python3
txt>=> 'I have {an:.2f} Rupees!'> print>(txt.>format>(an>=> 4>))> |
>
>
Sortir
I have 4.00 Rupees!>
Utilisation d'un seul formateur
Dans cet exemple, nous utiliserons le notation entre crochets de chaîne programme pour démontrer le str. méthode format(). Les formateurs fonctionnent en insérant un ou plusieurs champs de remplacement et des espaces réservés définis par une paire d'accolades. { } dans une chaîne et en appelant le str.format() .
Python3
# using format option in a simple string> print>(>'{}, A computer science portal for geeks.'> >.>format>(>'techcodeview.com'>))> # using format option for a> # value stored in a variable> str> => 'This article is written in {}'> print>(>str>.>format>(>'Python'>))> # formatting a string using a numeric constant> print>(>'Hello, I am {} years old !'>.>format>(>18>))> |
>
ajout de chaîne Java
>
Sortir
techcodeview.com, A computer science portal for geeks. This article is written in Python Hello, I am 18 years old!>
Format de chaîne() avec plusieurs espaces réservés
Plusieurs paires d'accolades peuvent être utilisées lors du formatage du chaîne en Python . Supposons qu'une autre substitution de variable soit nécessaire dans la phrase, ce qui peut être effectué en ajoutant une deuxième paire d'accolades et en passant une deuxième valeur dans la méthode. Python remplacera les espaces réservés par des valeurs dans commande.
Syntaxe : { } { } .format(valeur1, valeur2)
Paramètres : (valeur1, valeur2) : Il peut s'agir d'entiers, de constantes numériques à virgule flottante, de chaînes, de caractères et même de variables. La seule différence est que le nombre de valeurs passées en paramètres dans la méthode format() doit être égal au nombre d'espaces réservés créés dans la chaîne.
Erreurs et exceptions :
Erreur d'index : Se produit lorsque la chaîne a un espace réservé supplémentaire et que nous n'avons transmis aucune valeur pour celle-ci dans la méthode format(). Python attribue généralement les espaces réservés avec un index par défaut dans l'ordre suivant : 0, 1, 2, 3…. pour accéder aux valeurs passées en paramètres. Ainsi, lorsqu'il rencontre un espace réservé dont l'index n'a aucune valeur passée en paramètre, il renvoie IndexError.
Programme Python utilisant plusieurs espaces réservés pour démontrer la méthode str.format().
Python3
# Multiple placeholders in format() function> my_string>=> '{}, is a {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> # different datatypes can be used in formatting> print>(>'Hi ! My name is {} and I am {} years old'> >.>format>(>'User'>,>19>))> # The values passed as parameters> # are replaced in order of their entry> print>(>'This is {} {} {} {}'> >.>format>(>'one'>,>'two'>,>'three'>,>'four'>))> |
>
>
Sortir
techcodeview.com, is a computer science portal for geeks Hi! My name is User and I am 19 years old This is one two three four>
Format de chaîne() IndexErreur
Programme Python démontrant que le nombre d'erreurs d'index des espaces réservés est de quatre, mais seules trois valeurs sont transmises.
Python3
# parameters in format function.> my_string>=> '{}, is a {} {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> |
>
>
Sortir
IndexError: tuple index out of range>
Formatage de chaînes à l'aide de séquences d'échappement
Vous pouvez utiliser deux ou plusieurs caractères spécialement désignés dans une chaîne pour formater une chaîne ou exécuter une commande. Ces caractères sont appelés séquences d'échappement. Un Séquence d'échappement en Python commence par une barre oblique inverse (). Par exemple, est une séquence d'échappement dans laquelle la signification commune de la lettre n est littéralement échappée et reçoit une signification alternative : une nouvelle ligne.
| Séquence d'échappement | Description | Exemple |
|---|---|---|
| Casse la chaîne en une nouvelle ligne | print('J'ai conçu cette comptine pour expliquer en temps voulu Tout ce que je sais') | |
| Ajoute un onglet horizontal | print('Le temps est une chose de valeur') | |
| Imprime une barre oblique inverse | print('Regardez-le passerpendant que le pendule oscille') | |
| ' | Imprime un seul devis | print('Peu importe les efforts que vous déployez') |
| Imprime une double citation | print('C'est tellementirréel') | |
| un | fait le bruit d'une cloche | imprimer('a') |
Formateurs avec arguments de position et de mots clés
Lorsque les espaces réservés { } sont vides, Python remplacera les valeurs passées via str.format() dans l'ordre. Les valeurs qui existent dans la méthode str.format() sont essentiellement tuple Types de données et chaque valeur individuelle contenue dans le tuple peut être appelée par son numéro d'index, qui commence par le numéro d'index 0. Ces numéros d'index peuvent être passés entre les accolades qui servent d'espaces réservés dans la chaîne d'origine.
Syntaxe : {0} {1}.format(argument_positionnel, argument_mot-clé)
Paramètres : (argument_positionnel, argument_mot-clé)
- Argument_positionnel peut être des entiers, des constantes numériques à virgule flottante, des chaînes, des caractères et même des variables.
- Mot-clé_argument est essentiellement une variable stockant une valeur, qui est passée en paramètre.
Exemple: Démontrer l’utilisation de formateurs avec des arguments clés de position.
Python3
# Positional arguments> # are placed in order> print>(>'{0} love {1}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> # Reverse the index numbers with the> # parameters of the placeholders> print>(>'{1} love {0}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> print>(>'Every {} should know the use of {} {} programming and {}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,> >'Operating Systems'>))> # Use the index numbers of the> # values to change the order that> # they appear in the string> print>(>'Every {3} should know the use of {2} {1} programming and {0}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,>'Operating Systems'>))> # Keyword arguments are called> # by their keyword name> print>(>'{gfg} is a {0} science portal for {1}'> >.>format>(>'computer'>,>'geeks'>, gfg>=>'techcodeview.com'>))> |
>
>
Sortir
techcodeview.com love Geeks!! Geeks love techcodeview.com!! Every programmer should know the use of Open Source programming and Operating Systems Every Operating Systems should know the use of Source Open programming and programmer techcodeview.com is a computer science portal for geeks>
Type spécifiant en Python
Plus de paramètres peuvent être inclus dans les accolades de notre syntaxe. Utiliser la syntaxe du code de format {nom de domaine: conversion} , où nom de domaine spécifie le numéro d'index de l'argument de la méthode str.format() et la conversion fait référence au code de conversion du type de données.
Utiliser %s – conversion de chaîne via str() avant le formatage
Python3
print>(>'%20s'> %> (>'geeksforgeeks'>, ))> print>(>'%-20s'> %> (>'Interngeeks'>, ))> print>(>'%.5s'> %> (>'Interngeeks'>, ))> |
>
>
Sortir
geeksforgeeks Interngeeks Inter>
Utiliser %c - personnage avant le formatage
Python3
type> => 'bug'> result>=> 'troubling'> print>('I wondered why the program was>%>s me. Then> it dawned on me it was a>%>s .'>%> >(result,>type>))> |
>
>
Sortir
I wondered why the program was troubling me. Thenit dawned on me it was a bug .>
Utiliser %i entier décimal signé et %d entier décimal signé (base 10) avant le formatage
Python3
codes d'erreur Linux
match>=> 12000> site>=> 'Amazon'> print>('>%>s>is> so useful. I tried to look> up mobile>and> they had a nice one that cost>%>d rupees.'>%> (site, match))> |
>
>
Sortir
Amazon is so useful. I tried to lookup mobile and they had a nice one that cost 12000 rupees.>
Un autre type utile spécifiant
- %dans entier décimal non signé
- %O entier octal
- F – affichage à virgule flottante
- b - nombre binaire
- Ô – nombre octal
- %X – hexadécimal avec des lettres minuscules après 9
- %X – hexadécimal avec des lettres majuscules après 9
- C'est – notation des exposants
Vous pouvez également préciser symboles de formatage . Le seul changement consiste à utiliser deux points (:) au lieu de %.
Par exemple, au lieu de %s, utilisez {:s} et au lieu de %d, utilisez (:d}
Syntaxe : Chaîne {field_name:conversion} Exemple.format(valeur)
Erreurs et exceptions :
ValeurErreur : Une erreur se produit lors de la conversion de type dans cette méthode.
Convertir des entiers décimaux en base 10 en constantes numériques à virgule flottante
Python3
print>(>'This site is {0:f}% securely {1}!!'>.> >format>(>100>,>'encrypted'>))> # To limit the precision> print>(>'My average of this {0} was {1:.2f}%'> >.>format>(>'semester'>,>78.234876>))> # For no decimal places> print>(>'My average of this {0} was {1:.0f}%'> >.>format>(>'semester'>,>78.234876>))> # Convert an integer to its binary or> # with other different converted bases.> print>(>'The {0} of 100 is {1:b}'> >.>format>(>'binary'>,>100>))> print>(>'The {0} of 100 is {1:o}'> >.>format>(>'octal'>,>100>))> |
>
>
Sortir
This site is 100.000000% securely encrypted!! My average of this semester was 78.23% My average of this semester was 78% The binary of 100 is 1100100 The octal of 100 is 144>
Type spécifiant les erreurs
Démontrer ValueError en effectuant une opération forcée conversions de types
Python3
# When explicitly converted floating-point> # values to decimal with base-10 by 'd'> # type conversion we encounter Value-Error.> print>(>'The temperature today is {0:d} degrees outside !'> >.>format>(>35.567>))> # Instead write this to avoid value-errors> ''' print('The temperature today is {0:.0f} degrees outside !'> >.format(35.567))'''> |
>
>
Sortir
ValueError: Unknown format code 'd' for object of type 'float'>
Substitutions de remplissage ou génération d'espaces
Démonstration de l'espacement lorsque les chaînes sont passées en paramètres
Par défaut, les chaînes sont justifiées à gauche dans le champ et les nombres sont justifiés à droite. Nous pouvons modifier cela en plaçant un code d'alignement juste après les deux points.
< : left-align text in the field ^ : center text in the field>: aligner le texte à droite dans le champ>
Python3
# To demonstrate spacing when> # strings are passed as parameters> print>(>'{0:4}, is the computer science portal for {1:8}!'> >.>format>(>'techcodeview.com'>,>'geeks'>))> # To demonstrate spacing when numeric> # constants are passed as parameters.> print>(>'It is {0:5} degrees outside !'> >.>format>(>40>))> # To demonstrate both string and numeric> # constants passed as parameters> print>(>'{0:4} was founded in {1:16}!'> >.>format>(>'techcodeview.com'>,>2009>))> # To demonstrate aligning of spaces> print>(>'{0:^16} was founded in {1:<4}!'> >.>format>(>'techcodeview.com'>,>2009>))> print>(>'{:*^20s}'>.>format>(>'Geeks'>))> |
>
>
Sortir :
techcodeview.com, is the computer science portal for geeks ! It is 40 degrees outside! techcodeview.com was founded in 2009! techcodeview.com was founded in 2009 ! *******Geeks********>
Applications
Les formateurs sont généralement utilisés pour organiser les données. Les formateurs peuvent être vus sous leur meilleur jour lorsqu’ils sont utilisés pour organiser un grand nombre de données de manière visuelle. Si nous montrons des bases de données aux utilisateurs, l'utilisation de formateurs pour augmenter la taille des champs et modifier l'alignement peut rendre la sortie plus lisible.
Exemple : pour démontrer l'organisation de données volumineuses à l'aide de format()
Python3
# which prints out i, i ^ 2, i ^ 3,> # i ^ 4 in the given range> # Function prints out values> # in an unorganized manner> def> unorganized(a, b):> >for> i>in> range>(a, b):> >print>(i, i>*>*>2>, i>*>*>3>, i>*>*>4>)> # Function prints the organized set of values> def> organized(a, b):> >for> i>in> range>(a, b):> ># Using formatters to give 6> ># spaces to each set of values> >print>(>'{:6d} {:6d} {:6d} {:6d}'> >.>format>(i, i>*>*> 2>, i>*>*> 3>, i>*>*> 4>))> # Driver Code> n1>=> int>(>input>(>'Enter lower range :-
'>))> n2>=> int>(>input>(>'Enter upper range :-
'>))> print>(>'------Before Using Formatters-------'>)> # Calling function without formatters> unorganized(n1, n2)> print>()> print>(>'-------After Using Formatters---------'>)> print>()> # Calling function that contains> # formatters to organize the data> organized(n1, n2)> |
>
>
Sortir :
Enter lower range :- 3 Enter upper range :- 10 ------Before Using Formatters------- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 -------After Using Formatters--------- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561>
Utiliser un dictionnaire pour le formatage des chaînes
Utiliser un dictionnaire pour décompresser les valeurs dans les espaces réservés de la chaîne qui doit être formatée. Nous utilisons essentiellement ** pour décompresser les valeurs. Cette méthode peut être utile pour la substitution de chaînes lors de la préparation d'une requête SQL.
Python3
introduction>=> 'My name is {first_name} {middle_name} {last_name} AKA the {aka}.'> full_name>=> {> >'first_name'>:>'Tony'>,> >'middle_name'>:>'Howard'>,> >'last_name'>:>'Stark'>,> >'aka'>:>'Iron Man'>,> }> # Notice the use of '**' operator to unpack the values.> print>(introduction.>format>(>*>*>full_name))> |
>
>
Sortir:
My name is Tony Howard Stark AKA the Iron Man.>
Format Python() avec liste
Étant donné une liste de valeurs flottantes, la tâche consiste à tronquer toutes les valeurs flottantes à 2 chiffres décimaux. Voyons les différentes méthodes pour effectuer la tâche.
Python3
# Python code to truncate float> # values to 2 decimal digits.> > # List initialization> Input> => [>100.7689454>,>17.232999>,>60.98867>,>300.83748789>]> > # Using format> Output>=> [>'{:.2f}'>.>format>(elem)>for> elem>in> Input>]> > # Print output> print>(Output)> |
>
>
Sortir
['100.77', '17.23', '60.99', '300.84']>