Parâmetros e argumentos

Passar dados para funções de forma explícita.

Parâmetros e argumentos

Objetivo da aula

Passar dados para funções de forma explícita.

Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.

Começando do zero

Parâmetros permitem que uma função trabalhe com valores diferentes sem precisar de uma cópia da função para cada caso. O parâmetro é o nome declarado na definição; o argumento é o valor fornecido na chamada. A função recebe esses valores e executa sua regra.

Uma imagem mental para entender

Imagine um molde de etiqueta com um espaço chamado “nome”. O molde é o mesmo, mas você pode preencher Ana, Bruno ou Carla. O parâmetro é o espaço do molde; o argumento é o valor colocado naquele espaço em cada uso.

Conceitos essenciais, sem pular etapas

Parâmetro

Nome que aparece na assinatura da função, como nome em def saudar(nome):.

Argumento

Valor usado na chamada, como "Ana" em saudar("Ana").

Mais de um parâmetro

Uma função pode receber vários valores separados por vírgula, como quantidade e preço.

Argumentos posicionais

Na forma simples, a ordem importa: o primeiro argumento vai para o primeiro parâmetro.

Argumentos nomeados

Também podemos escrever calcular(preco=10, quantidade=3) para tornar a associação explícita quando a função permite.

Modelo mental

DEFINIÇÃO COM PARÂMETROS → CHAMADA COM ARGUMENTOS → VALORES LOCAIS → REGRA

Exemplo 1 — primeiro veja o programa inteiro

def calcular_total(quantidade, preco_unitario):
    total = quantidade * preco_unitario
    print(f"Total: R$ {total:.2f}")

calcular_total(3, 12.50)
calcular_total(2, 5.00)

Agora vamos ler linha por linha

  • A função é definida uma vez com dois parâmetros.
  • Na primeira chamada, quantidade recebe 3 e preco_unitario recebe 12.50.
  • A variável total é criada dentro da função para aquele cálculo.
  • A segunda chamada reutiliza a mesma regra com outros argumentos.

Saída esperada

Total: R$ 37.50
Total: R$ 10.00

Exemplo 2 — o mesmo conceito em outra situação

def apresentar(nome, curso):
    print(f"{nome} está estudando {curso}.")

apresentar(curso="FT-002", nome="Lia")

Argumentos nomeados deixam a associação explícita. Ainda assim, não abuse deles para esconder funções com parâmetros demais; muitas entradas podem sinalizar responsabilidade excessiva.

Experimento guiado

Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.

  1. Crie uma função somar(a, b) que mostre a soma e chame com valores diferentes.
  2. Inverta propositalmente argumentos posicionais em uma função em que a ordem muda o sentido.
  3. Reescreva uma chamada usando argumentos nomeados.
  4. Explique com suas palavras a diferença entre parâmetro e argumento.

Mini desafio

Crie mostrar_produto(nome, quantidade) e use-a para exibir dois produtos diferentes.

Solução comentada

def mostrar_produto(nome, quantidade):
    print(f"Produto: {nome} | Quantidade: {quantidade}")

mostrar_produto("Caderno", 3)
mostrar_produto("Caneta", 10)

Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.

Erros comuns e por que acontecem

  • Chamar com quantidade errada de argumentos e obter TypeError.
  • Confundir parâmetro com variável global e não perceber que o valor é fornecido pela chamada.
  • Usar muitos parâmetros em uma função que está fazendo responsabilidades demais.
  • Trocar a ordem de argumentos posicionais sem notar que os tipos ainda permitem execução.

Cheque se você realmente entendeu

Onde o parâmetro aparece?

Resposta: Na definição da função.

Onde o argumento aparece?

Resposta: Na chamada da função.

A mesma função pode ser chamada com argumentos diferentes?

Resposta: Sim; essa é uma das principais razões para usar parâmetros.

Resumo em linguagem simples

Nesta aula, o ponto central foi Parâmetros e argumentos. Tente explicar o modelo DEFINIÇÃO COM PARÂMETROS → CHAMADA COM ARGUMENTOS → VALORES LOCAIS → REGRA sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.

Conexão com a próxima aula

Na próxima aula, return versus print, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.