Metoda format_map () jest podobna do str.format (** mapowanie) z tym wyjątkiem, że str.format (** mapowanie) tworzy nowy słownik, podczas gdy str.format_map (mapowanie) nie.
Zanim o tym porozmawiamy format_map()
. Zobaczmy, jak str.format(**mapping)
działa słownik Pythona.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Wynik
4 -5
Dowiedz się więcej o tym, jak formatować ciągi znaków w Pythonie?
format_map(mapping)
Jest podobny do str.format(**mapping)
sposobu.
Jedyną różnicą jest to, że str.format(**mapping)
kopiuje dict, podczas gdy str.format_map(mapping)
tworzy nowy słownik podczas wywołania metody. Może to być przydatne, jeśli pracujesz z dict
podklasą.
Składnia format_map()
is
str.format_map (mapowanie)
parametr format_map
format_map()
przyjmuje pojedynczy argument mapping(dictionary)
.
Wartość zwracana z format_map ()
format_map()
formatuje podany ciąg i zwraca go.
Przykład 1: Jak działa 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))
Wynik
4-5 4-5 0
Przykład 2: Jak format_map () działa z podklasą 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')))
Wynik
(6, y) (x, 5) (6, 5)
format_map(mapping)
jest bardziej elastyczny niż format(**mapping)
w przypadku braku kluczy.