Em Python, usamos def tanto para funções com retorno quanto para rotinas sem retorno explícito.
# 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()
# 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.
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.