O método format_map () é semelhante a str.format (** mapping) exceto que str.format (** mapping) cria um novo dicionário, enquanto str.format_map (mapping) não.
Antes de falar format_map()
. Vamos ver como str.format(**mapping)
funciona para dicionários Python.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Resultado
4 -5
Saiba mais sobre como formatar strings em Python?
O format_map(mapping)
é semelhante ao str.format(**mapping)
método.
A única diferença é que str.format(**mapping)
copia o str.format_map(mapping)
dicionário enquanto faz um novo dicionário durante a chamada do método. Isso pode ser útil se você estiver trabalhando com uma dict
subclasse.
A sintaxe de format_map()
é
str.format_map (mapeamento)
Parâmetro format_map
format_map()
leva um único argumento mapping(dictionary)
.
Valor de retorno de format_map ()
format_map()
formata a string fornecida e a retorna.
Exemplo 1: Como format_map () funciona?
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))
Resultado
4 -5 4 -5 0
Exemplo 2: Como format_map () funciona com a subclasse 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')))
Resultado
(6, y) (x, 5) (6, 5)
format_map(mapping)
é mais flexível do format(**mapping)
que você pode ter chaves ausentes.