def format_map(self, dictionnary)) -> str
format
mais en utilisant un
dictionnaire comme source de données.
>>> data = {"num": 1, "den": 3} >>> "[{num}/{den}]".format_map(data) '[1/3]' >>>
Il est aussi possible de spécifier un format pour chaque zone d'injection (placeholder). Le format du paramètre s'introduit par un caractère :
placé à l'intérieur des accolades. A la suite de ce caractère, on trouve la définition du format. Je vous renvoie vers la documentation de la
méthode format
pour de plus amples informations.
S.format_map(mapping) -> str Return a formatted version of S, using substitutions from mapping. The substitutions are identified by braces ('{' and '}').
Paramètre | Description |
---|---|
self : str |
La chaîne de caractères courante. Rappel : self est implicitement passée lors de l'appel de la méthode. |
dictionnary : dict |
Le dictionnaire contenant les données à injecter et à formater. |
La valeur de retour est de type str.
Elle correspond à la chaîne de caractères formatée.
ValueError :Une exception de ce type sera déclenchée si l'un des paramètres n'est pas compatible avec le format qui lui est associé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/python3 # Une liste de données à afficher sur la console. spies = [ {"first_name": "James", "last_name": "Bond", "email": "007@mi6.uk"}, {"first_name": "Jason", "last_name": "Bourne", "email": "treadstone@cia.us"}, {"first_name": "Ethan", "last_name": "Hunt", "email": "hunt@imf.us"} ] # Quelques variables préalables. line = "-" * 25 separator = "+{:s}+{:s}+{:s}+".format(line, line, line) # On affiche la liste. print(separator) print("| {:23s} | {:23s} | {:>23s} |".format("Prénom", "Nom", "Email")) print(separator) for spy in spies: print("| {first_name:23s} | {last_name:23s} | {email:>23s} |".format_map(spy)) print(separator) |
Et voici les résultats produits par cet exemple.
$> python3 sample.py +-------------------------+-------------------------+-------------------------+ | Prénom | Nom | Email | +-------------------------+-------------------------+-------------------------+ | James | Bond | 007@mi6.uk | | Jason | Bourne | treadstone@cia.us | | Ethan | Hunt | hunt@imf.us | +-------------------------+-------------------------+-------------------------+ $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :