La méthode format_map () est similaire à str.format (** mapping) sauf que str.format (** mapping) crée un nouveau dictionnaire contrairement à str.format_map (mapping).
Avant d'en parler format_map()
. Voyons comment str.format(**mapping)
fonctionne les dictionnaires Python.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Production
4 -5
En savoir plus sur, comment formater des chaînes en Python?
Le format_map(mapping)
est similaire à la str.format(**mapping)
méthode.
La seule différence est que str.format(**mapping)
copie le dict alors que str.format_map(mapping)
crée un nouveau dictionnaire lors de l'appel de méthode. Cela peut être utile si vous travaillez avec une dict
sous - classe.
La syntaxe de format_map()
est
str.format_map (mappage)
Paramètre format_map
format_map()
prend un seul argument mapping(dictionary)
.
Valeur renvoyée par format_map ()
format_map()
met en forme la chaîne donnée et la renvoie.
Exemple 1: Comment fonctionne format_map ()?
point = ('x':4,'y':-5) print('(x) (y)'.format_map(point)) point = ('x':4,'y':-5, 'z': 0) print('(x) (y) (z)'.format_map(point))
Production
4 -5 4 -5 0
Exemple 2: Comment format_map () fonctionne avec la sous-classe dict?
class Coordinate(dict): def __missing__(self, key): return key print('((x), (y))'.format_map(Coordinate(x='6'))) print('((x), (y))'.format_map(Coordinate(y='5'))) print('((x), (y))'.format_map(Coordinate(x='6', y='5')))
Production
(6, y) (x, 5) (6, 5)
format_map(mapping)
est plus flexible que format(**mapping)
vous pouvez avoir des clés manquantes.