VisuAlg Web

Def em Python: funções sem retorno explícito

Reutilizar uma mensagem sem duplicar comandos em Python. Execute o exemplo, confira o resultado e pratique os casos de limite no VisuAlg Web.

Em Python, usamos def tanto para funções com retorno quanto para rotinas sem retorno explícito.

Exemplo de códigoPython
# Declaration without parameters because it receives no external data
def decorative_line():
    print("--------------------------")

print("System Header")
decorative_line()  # Calling without parameters
print("Welcome!")
decorative_line()
Exemplo de códigoPython
# This one receives data, so parameters are required
def show_error(message):
    print("[SYSTEM ERROR]:", message)

show_error("The internet connection dropped.")
show_error("The hard drive is full.")

Reutilizar uma mensagem sem duplicar comandos

Uma rotina agrupa comandos que serão executados quando você a chamar. A definição sozinha não mostra a mensagem; a chamada é que inicia o corpo. Um parâmetro permite variar o dado recebido sem copiar a rotina inteira. Neste caso, a função apenas escreve uma saudação e não precisa devolver um resultado explícito. Evite imprimir a própria chamada esperando uma segunda mensagem: o valor de retorno implícito é nulo.

Preserve a indentação dos blocos ao modificar este exemplo em Python.

Exemplo de códigoPython
def saudar(nome):
    print("Olá,", nome)

saudar("Ana")
saudar("Bia")

Resultado esperado e testes

Execute o exemplo sem fornecer entradas. A saída deve ser:

Olá, Ana
Olá, Bia

Faça uma terceira chamada com outro nome: a definição não precisa mudar. Diferencie o parâmetro nome, usado dentro da função, dos valores Ana e Bia recebidos em chamadas distintas. Como exercício, crie uma rotina que receba uma mensagem e a mostre entre duas linhas separadoras. Confira quantas vezes a função foi chamada e quantas linhas cada chamada produz.

Depois, compare o raciocínio com a versão do mesmo assunto nas outras linguagens do menu.