*args e **kwargs em Python: flexibilidade total nas funções

Aprenda como criar funções flexíveis com múltiplos parâmetros em Python usando *args e **kwargs.

Compartilhe

Como Usar args e kwargs em Funções Python

Python + IA: Fundamentos e Projetos Práticos

Ambiente, sintaxe e variáveis em Python

Ambiente, Sintaxe Básica e Variáveis em Python — Bootcamp Dia 1

Tipos de dados, entrada e conversão em Python

Tipos de Dados, Entrada e Conversão no Python — Bootcamp Dia 2

Operadores em Python

Operadores Aritméticos, Relacionais e Lógicos em Python — Bootcamp Dia 3

Estruturas condicionais em Python

Estrutura Condicional com if, elif e else em Python — Bootcamp Dia 4

Loops e estruturas de repetição em Python

Repetição com for, while e range() no Python — Bootcamp Dia 5

Listas em Python

Como Trabalhar com Listas no Python — Bootcamp Dia 6

Tuplas e sets em Python

Tuplas e Sets em Python — Estruturas Imutáveis e Conjuntos Inteligentes | Bootcamp Dia 7

Dicionários em Python

Dicionários em Python: chave e valor, o jeito inteligente de armazenar dados

Funções em Python

Funções em Python: Escreva Menos, Faça Mais

Tratamento de erros em Python

Tratamento de Erros em Python: programe com segurança

Leitura e Escrita de Arquivos em Python

Leitura e Escrita de Arquivos em Python: salve seus dados no mundo real

Como Salvar Listas de Dicionários em Arquivo JSON com Python

Salvando Dados Estruturados com JSON em Python

Como Trabalhar com Datas em Python — Idade, Diferença e Formatação

Trabalhando com Datas e Horários em Python

Funções com Múltiplos Retornos em Python — Análise de Dados com Elegância

Funções com Múltiplos Retornos em Python: eficiência e organização

Parâmetros Opcionais e Valores Padrão em Python

Parâmetros Opcionais e Valores Padrão em Python

Como Usar args e kwargs em Funções Python

*args e **kwargs em Python: flexibilidade total nas funções

Como Usar List Comprehensions em Python

List Comprehensions em Python: código elegante e eficiente

Como Manipular Arquivos CSV com Python

Manipulando Arquivos CSV com Python: automatize leitura e escrita de dados

Como Usar Pandas em Python para Análise de Dados

Começando com Pandas em Python: análise de dados para IA e automações

Como Limpar e Preparar Dados com Pandas | Bootcamp Dia 20

Limpeza e Transformação de Dados com Pandas: preparando para IA

Como usar a OpenAI com Python (API Atualizada, GPT-3.5)

Inteligência Artificial com Python: Fundamentos e Primeira Integração com a OpenAI

Como fazer Análise de Sentimentos com Python e IA (Passo a Passo)

Análise de Sentimentos com IA: Classificando Emoções em Textos com Python

Como Classificar Textos com IA e Python (Zero-Shot Classification)

Classificação de Texto com IA: Detectando Temas e Categorias

Como Criar Textos com Python e IA (NLP + GPT-2)

Geração de Texto com IA: Criando Respostas Inteligentes com Python

Como Criar um Chatbot com IA em Python (com DialoGPT)

Chatbot com IA em Python: Construindo um Assistente Inteligente

Como Detectar Fake News com Python e IA — Projeto Prático

Como Detectar Fake News com Python e IA

Como Criar uma Interface com IA em Python para Detectar Fake News

Como Criar uma Interface com IA em Python para Detectar Fake News

Como Avaliar a Qualidade de um Modelo de IA com Python

Como Avaliar a Qualidade de um Modelo de IA com Python — Além da Acurácia

Como Balancear Dados e Validar Modelos com Python e IA

Como Balancear Dados e Validar Modelos com Python e IA

Classificador de Fake News com Interface Web em Python (Streamlit)

Projeto Final: Criando um Classificador de Fake News com Interface Web em Python (Streamlit)

Ambiente de desenvolvimento Python organizado com árvore de arquivos, dependências conectadas e lockfile protegido

Python com uv: ambientes virtuais e dependências reproduzíveis

Fluxo de inteligência artificial transformando dados desorganizados em blocos estruturados para automação

Saídas estruturadas com IA: JSON confiável para automações em Python

Fluxo seguro de function calling conectando uma inteligência artificial a ferramentas externas validadas

Function calling em Python: conecte a IA a ferramentas com segurança

Sistema de inteligência artificial pesquisando documentos organizados em uma base vetorial

File Search com IA em Python: consulte seus documentos na prática

Sistema de IA pesquisando páginas da Web e organizando fontes verificadas com citações

Web Search com IA em Python: respostas atuais com fontes verificáveis

Fluxo luminoso de eventos saindo de uma aplicação Python e chegando em uma interface de conversa em tempo real

Streaming com IA em Python: respostas em tempo real na prática

Sabe quando você quer que uma função aceite qualquer número de argumentos, ou argumentos com nome e valor?

Hoje você vai dominar os dois recursos mais flexíveis para isso:

  • *args → aceita múltiplos valores posicionais
  • **kwargs → aceita múltiplos valores nomeados

🎯 O que você vai aprender

  • Usar *args em funções
  • Usar **kwargs em funções
  • Combinar argumentos normais, *args e **kwargs
  • Criar funções altamente adaptáveis
  • Aplicar isso em um sistema de registro dinâmico

📦 O que é *args?

Permite passar vários argumentos sem limite, que são recebidos como tupla:

def somar(*numeros):
    return sum(numeros)

print(somar(1, 2, 3))      # 6
print(somar(10, 20))       # 30

🗃️ E **kwargs?

Recebe argumentos nomeados (com chave e valor), como um dicionário:

def exibir_info(**dados):
    for chave, valor in dados.items():
        print(f"{chave}: {valor}")

exibir_info(nome="Asllan", idade=41)

🧠 Combinação poderosa:

def exemplo(a, b=0, *args, **kwargs):
    print("a =", a)
    print("b =", b)
    print("args =", args)
    print("kwargs =", kwargs)

📌 Desafio do Dia: Cadastro Dinâmico com **kwargs

Crie uma função que:

  1. Receba qualquer número de campos (nomeados) de um cliente
  2. Imprima um relatório personalizado com as informações

💻 Código sugerido:

def cadastrar_cliente(**dados):
    print("\n📋 Cliente cadastrado:")
    for campo, valor in dados.items():
        print(f"{campo.capitalize()}: {valor}")

# Exemplo de uso:
cadastrar_cliente(nome="Asllan", idade=41, cidade="Rio de Janeiro", vip=True)

🔁 Extra: usando *args para somar valores

def calcular_total(*valores):
    return sum(valores)

print("Total:", calcular_total(100, 50, 20))

🧠 O que você aplicou hoje?

  • Funções altamente reutilizáveis
  • Entrada dinâmica com número indefinido de argumentos
  • Tratamento de dados flexível com *args e **kwargs
  • Adaptação de funções para contextos diferentes (como APIs ou IA)

💬 Profissionalmente falando:

Você encontra *args e **kwargs em quase todas as bibliotecas modernas — é uma das formas mais limpas de criar funções reutilizáveis e adaptáveis a qualquer cenário.

Python + IA: Fundamentos e Projetos Práticos

Parâmetros Opcionais e Valores Padrão em Python List Comprehensions em Python: código elegante e eficiente