Argumentos Padrão em Python

PythonBeginner
Pratique Agora

Introdução

Imagine as areias do Egito antigo, as pirâmides se elevando acima, lançando longas sombras sobre uma paisagem imersa em misticismo e história. Neste laboratório, aventuramo-nos no interior de uma câmara recém-descoberta dentro da grande Pirâmide de Quéops. Hieróglifos nas paredes da câmara contam sobre uma divindade perdida, cujos poderes seriam restaurados assim que seu avatar fosse invocado com a incantação correta. Diz-se que este deus tinha o poder de conceder sabedoria e conhecimento, particularmente na arte arcana da programação Python.

Nosso objetivo é decifrar a incantação necessária para invocar o avatar desta divindade, resolvendo quebra-cabeças em Python dispostos na câmara. Para fazer isso, devemos dominar o uso de argumentos padrão em funções Python — um conceito tão atemporal quanto as próprias pirâmides.

Criar uma Função com Argumentos Padrão

Nesta etapa, criaremos uma função que nos ajudará a destravar o primeiro selo da câmara da divindade. Funções Python podem ter argumentos padrão, que são usados se nenhum valor específico for fornecido quando a função é chamada. Vamos praticar isso criando uma função que gera um feitiço antigo com níveis de poder padrão.

Agora, abra ~/project/incantation.py usando seu editor de texto favorito e defina uma função chamada cast_spell que aceita dois parâmetros: spell (uma string) e power_level (um inteiro com um valor padrão de 5).

Código de exemplo em incantation.py:

def cast_spell(spell, power_level=5):
    return f"Invoking {spell} with a power level of {power_level}!"

## Teste a função chamando-a com e sem especificar o power_level
print(cast_spell('Heka'))
print(cast_spell('Seshat', power_level=9))

Execute seu código para ver os feitiços sendo invocados.

python3 incantation.py

Saída esperada:

Invoking Heka with a power level of 5!
Invoking Seshat with a power level of 9!

Manipulando Múltiplos Argumentos Padrão

Em seguida, trabalharemos com uma função que aceita múltiplos argumentos padrão para desvendar o segundo selo. Criaremos uma função que descreve as oferendas a serem feitas à divindade.

Ainda dentro do diretório ~/project, adicione uma nova função ao nosso arquivo incantation.py chamada make_offering, que aceitará três parâmetros: food (com valor padrão "grain"), incense (com valor padrão "frankincense") e gemstone (com valor padrão "lapis lazuli").

Código de exemplo em incantation.py:

def make_offering(food="grain", incense="frankincense", gemstone="lapis lazuli"):
    return f"Offering {food}, {incense}, and {gemstone} to please the gods."

## Teste a função com argumentos padrão e personalizados
print(make_offering())
print(make_offering(food="dates", gemstone="turquoise"))

Execute o arquivo atualizado:

python3 incantation.py

Saída esperada:

Offering grain, frankincense, and lapis lazuli to please the gods.
Offering dates, frankincense, and turquoise to please the gods.

Resumo

Neste laboratório, mergulhamos no poder dos argumentos padrão do Python através do pano de fundo de uma aventura na pirâmide egípcia antiga. Você não apenas aprendeu a definir funções com parâmetros padrão e personalizá-los sob demanda, mas também aproveitou a magia de uma divindade egípcia, combinando a sintaxe do Python com o fascínio da egiptologia.

Ao concluir estas tarefas, você adquiriu uma habilidade valiosa que será útil na escrita de código Python flexível e reutilizável. Agora que você dominou os argumentos padrão, está pronto para descobrir mais segredos no mundo do Python — a linguagem que é tão enigmática quanto as pirâmides, mas tão acessível quanto o deserto aberto sob o céu claro e iluminado pela lua.