Formatage de chaîne Python

Formatage de chaîne Python

  1. Objectifs

    • Etre capable de formater des chaînes de caractères en Python.
  2. Définition

    • La méthode format () formate la chaîne donnée dans une sortie plus agréable en Python.




  3. Syntaxe de la méthode format()

    • La syntaxe de la méthode format () est la suivante:
    • template.format (p0, p1, ..., k0 = v0, k1 = v1, ...)
    • p0, p1, … sont des arguments de position
    • k0, k1, … sont des arguments de mots clés avec les valeurs v0, v1, … respectivement.
    • template est une chaîne contenant des codes de format
    • La méthode format ( ) utilise son argument pour substituer une valeur à chaque code de format.
  4. Paramètres de la méthode format()

    • La méthode format() prend un nombre quelconque de paramètres. Mais, est divisé en deux types de paramètres:
      • Paramètres de position: C’est une liste des paramètres accessibles avec l’index du paramètre à l’intérieur des accolades {index}.Cette liste d’arguments commence toujours à 0 en Python.
      • Paramètres de mot clé: C’est une liste de paramètres de type clé = valeur, accessible avec la clé du paramètre à l’intérieur des accolades {clé}
  5. Utilisation de la méthode format()

    • La méthode format() lit le type des arguments qui lui sont transmis et le formate en fonction des codes de format définis dans la chaîne.
      1. Formatage de base
        • print("Bonjour {}, votre solde est de {}.".format("Adam", 230.2346))

      2. Paramètres de position
        • Formatage de chaîne Python

        • L’argument 0 est une chaîne "Tarek" l’argument 1 est un nombre entier 179870894545 et l’argument 2 est un nombre flottant 165.4846.
        • Les trois arguments {0} , {1} et {2} peuvent être référencés sans les nombres en tant que {} et Python les convertit de manière interne en nombres.

        • La chaine “Tarek” est le 0 ème argument, il est placé à la place de {0}. Puisque {0} ne contient aucun autre code de format, il n’effectue aucune autre opération.
        • Le numéro 179870894545 est le 1er argument, il est placé à la place de {1}. Puisque {1} ne contient aucun autre code de format, il n’effectue aucune autre opération.
        • Cependant, ce n’est pas le cas pour le 2 ème argument165.4846 . Ici, {2:9.3f} place 165.4846 à sa place et effectue l’opération 9.3f.
        • f spécifie que le format traite un nombre flottant. S’il n’est pas correctement spécifié, une erreur sera générée.
        • La partie avant le "." (9) spécifie la largeur minimale / remplissage que le nombre (165.4846) peut prendre. Dans ce cas, 165.4846 se voit attribuer un minimum de 9 places, y compris le ".".
        • Si aucune option d’alignement n’est spécifiée, elle est alignée à droite des espaces restants. (Pour les chaînes, il est aligné à gauche.)
        • La partie après le "."(3) tronque la partie décimale (4846) jusqu’au nombre donné. Dans ce cas, 4846 est tronqué après 3 places.
        • Les nombres restants (4846) sont arrondis et la sortie est 485.
      3. Paramètres de mot clé
        • Ici, au lieu de simplement les paramètres, nous avons utilisé une valeur-clé pour les paramètres. À savoir, nom = “Tarek” , compte=179870894545 et solde=165.4846.
  6. Formatage des nombres avec format()

    • Syntaxe: { [ argument_index_ou_motClé ] : [ width ou largeur ] [ . précision ] [ type ] }

    • Le type peut être utilisé avec les codes de format
    • Code Description Exemple
      d pour les entiers "Tarek a {1:d} boules rouges et {0:d} boules jaunes".format(12, 31)
      f pour les nombres à virgule flottante "Point flottant{0:.3f}".format(165.4846)
      Ici, nous spécifions 3 chiffres après la virgule et f est utilisé pour représenter un nombre à virgule flottante.
      b pour les nombres binaires
      print(bin(12))
      print("En binaire 12 est {0:b}".format(12))
      """0b1100
      En binaire 12 est 1100"""

      Les caractères ‘0b’ indiquent que ce qui suit est un nombre binaire, qui s’affiche comme une chaîne de caractères ( entre guillemets simples )

      o pour les nombres octaux
      print("Nombre formaté en octal: "+"{:o}".format(25))
      """Résultat 31"""
      X pour les nombres hexadécimaux octaux
      print("Nombre formaté en exadécimal: "+"{:x}".format(25))
      """Résultat 19"""
      n Identique à ‘d’. Sauf qu’il utilise les paramètres régionaux actuels pour le séparateur de nombres
      e pour virgule flottante au format exposant
      % Pourcentage. Multiples par 100 et met% à la fin.
      print("Nombre formaté avec pourcentage: "+"{:%}".format(0.25))
      """===> Six chiffre après la vigule par défaut 25.000000%"""
      print("Nombre formaté avec pourcentage: "+"{:.3%}".format(0.25))
      """===> Trois chiffre après la vigule 25.000%"""
      print("Nombre formaté avec pourcentage: "+"{:.0%}".format(0.25))
      """===> Sans chiffre après la vigule 25%"""