Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desempacotando Dicionários com ** | Empacotamento e Desempacotamento em Python
Conceitos de Programação Funcional em Python

bookDesempacotando Dicionários com **

Deslize para mostrar o menu

Ao trabalhar com dicionários em Python, o operador ** oferece uma maneira concisa e poderosa de desempacotar seus conteúdos. Desempacotamento com ** permite passar itens de dicionário como argumentos nomeados para funções ou mesclar vários dicionários. Essa técnica é especialmente útil para escrever código flexível e reutilizável que pode lidar com diferentes conjuntos de parâmetros nomeados.

O operador ** recebe um dicionário e expande seus pares chave-valor em argumentos nomeados separados. Isso é comumente utilizado ao chamar funções que aceitam argumentos nomeados, permitindo passar um dicionário diretamente em vez de especificar cada argumento manualmente. Outro uso prático é a fusão de dois ou mais dicionários em um novo, onde todos os pares chave-valor são combinados em um único dicionário.

12345
def print_person(name, age): print(f"Name: {name}, Age: {age}") person_info = {"name": "Alice", "age": 28} print_person(**person_info)
copy

Este código demonstra o desempacotamento de dicionários usando o operador **. Ao colocar ** antes de um dicionário em uma chamada de função, o Python "desempacota" os pares chave-valor e os passa como argumentos nomeados individuais. Neste exemplo, print_person(**person_info) é funcionalmente idêntico a escrever print_person(name="Alice", age=28). Para que isso funcione corretamente, as chaves do dicionário devem corresponder exatamente aos nomes dos parâmetros definidos na assinatura da função.

12345
defaults = {"color": "blue", "size": "medium"} overrides = {"size": "large", "style": "bold"} merged = {**defaults, **overrides} print(merged)
copy

Aqui você pode ver a Mesclagem de Dicionários. Ao colocar ** dentro de um novo literal de dicionário, o Python expande os pares chave-valor de ambos defaults e overrides em um único objeto.

Quando há chaves sobrepostas – como "size" neste exemplo – o dicionário que aparece depois na sequência tem precedência. Aqui, o valor "large" de overrides substitui "medium" de defaults, resultando em um dicionário mesclado que combina todas as chaves únicas, priorizando os valores mais recentes.

1. Qual é o resultado de usar ** em um dicionário em uma chamada de função?

2. Qual método combina dois dicionários usando unpacking em Python?

question mark

Qual é o resultado de usar ** em um dicionário em uma chamada de função?

Selecione a resposta correta

question mark

Qual método combina dois dicionários usando unpacking em Python?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 3
some-alt