Funções em Python

Funções são blocos de código reutilizáveis que permitem organizar o programa em partes menores e mais compreensíveis. Elas podem receber parâmetros e retornar valores. A sintaxe básica é feita com a palavra-chave def, seguida pelo nome da função, os parâmetros entre parênteses e o bloco de código indentado. Caso seja necessário, a função pode retornar um valor utilizando a instrução return.

Um exemplo simples é a função de saudação:

def saudacao():
    print("Olá, seja bem-vindo!")
    
saudacao()

Esse código imprime a mensagem "Olá, seja bem-vindo!". Também é possível criar funções que recebem parâmetros, como no exemplo:

def soma(a, b):
    return a + b

print(soma(3, 5))   # 8
print(soma(10, 20)) # 30

Funções podem ter parâmetros opcionais, ou seja, com valores padrão. No exemplo abaixo, caso nenhum nome seja fornecido, será utilizado o valor "Usuário":

def mensagem(nome="Usuário"):
    print(f"Olá, {nome}!")

mensagem()          # Olá, Usuário!
mensagem("Maria")   # Olá, Maria!

É possível ainda retornar múltiplos valores ao mesmo tempo. No exemplo a seguir, a função retorna o quociente e o resto de uma divisão:

def dividir(a, b):
    quociente = a // b
    resto = a % b
    return quociente, resto

q, r = dividir(10, 3)
print("Quociente:", q)  # 3
print("Resto:", r)      # 1

Em resumo, funções permitem estruturar melhor o código, favorecem o reuso e podem ser adaptadas para diversas situações, com ou sem parâmetros e retornos.