0Pricing
Python Academy · Aula

Argumentos padrão e nomeados

Use valores padrão para parâmetros e a sintaxe de chamada com argumentos nomeados.

Argumentos padrão e nomeados é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Introdução

Valores padrão de parâmetros e a sintaxe de chamada com argumentos nomeados tornam as funções Python flexíveis e autoexplicativas.

Valores padrão de parâmetros

def greet(name, greeting='Hello'): atribui um valor padrão a greeting. Quem chama a função pode omiti-lo.
def greet(name, greeting='Hello'):
    print(f'{greeting}, {name}!')
greet('Alice')
greet('Bob', 'Hi')

Argumentos nomeados

Chame usando nomes: greet(name='Alice', greeting='Hi'). A ordem não importa quando você usa argumentos nomeados.
def describe(name, age, city):
    print(f'{name}, {age}, {city}')
describe(age=30, city='NYC', name='Alice')

Combinando argumentos posicionais e nomeados

Os argumentos posicionais devem vir antes dos argumentos nomeados na chamada. describe('Alice', city='NYC', age=30) é válido.
def f(a, b, c='default'):
    print(a, b, c)
f(1, c='X', b=2)

Armadilha dos valores padrão mutáveis

NEVER use valores padrão mutáveis: def f(lst=[]) compartilha a mesma lista entre todas as chamadas. Em vez disso, use def f(lst=None): lst = lst or [].
def append(x, lst=None):
    if lst is None:
        lst = []
    lst.append(x)
    return lst
print(append(1))
print(append(2))

Argumentos somente nomeados

Os parâmetros após * devem ser chamados por nome: def f(a, *, b): somente b não pode ser posicional. Isso reforça a clareza.
def f(a, *, b):
    return a + b
print(f(1, b=2))

Argumentos somente posicionais (3.8+)

Os parâmetros antes de / devem ser posicionais: def f(a, b, /, c): a e b não podem ser chamados por nome.
def f(a, b, /, c=0):
    return a + b + c
print(f(1, 2, c=3))

**kwargs

def f(**kwargs) reúne os argumentos nomeados extras em um dicionário. É útil para encaminhar opções.
def show(**kwargs):
    for k, v in kwargs.items():
        print(f'{k}={v}')
show(name='Alice', age=30)

Combinando *args e **kwargs

def f(*args, **kwargs) aceita qualquer combinação de argumentos posicionais e nomeados.
def debug(*args, **kwargs):
    print('args:', args)
    print('kwargs:', kwargs)
debug(1,2,x=3)

Desempacotamento em chamadas

f(*[1,2,3]) espalha uma lista como argumentos posicionais. f(**{'a':1}) espalha um dicionário como argumentos nomeados.
def add(a, b, c): return a+b+c
d = {'a':1,'b':2,'c':3}
print(add(**d))

Aplicação parcial

from functools import partial; double = partial(pow, exp=2) fixa alguns argumentos antecipadamente.
from functools import partial
def power(base, exp): return base ** exp
square = partial(power, exp=2)
print(square(5))

Verificação rápida

Qual é o perigo de usar um argumento padrão mutável como def f(lst=[])?

Revisão

Argumentos padrão: def f(x=val). Chamadas nomeadas: f(x=val). Evite valores padrão mutáveis. Use * para argumentos somente nomeados, / para argumentos somente posicionais e **kwargs para reunir os extras.

Continue avançando

Excelente trabalho! Passe para a próxima lição para continuar avançando.

Perguntas Frequentes

A aula “Argumentos padrão e nomeados” é grátis?

Sim — o texto completo de “Argumentos padrão e nomeados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Argumentos padrão e nomeados”?

Use valores padrão para parâmetros e a sintaxe de chamada com argumentos nomeados. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Argumentos padrão e nomeados”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Definição e chamada de funções
  2. Argumentos padrão e nomeados
  3. args e kwargs
  4. Valores de retorno e escopo
← Voltar para Python Academy