Funções são blocos de código reutilizáveis que executam uma tarefa específica. Elas ajudam a organizar o código, evitar repetições e facilitar a manutenção.

🔹 Criando uma Função

Você define uma função usando a palavra-chave def:

def saudacao():
    print("Olá! Seja bem-vindo!")
    
#Executando a função:
saudacao()

SAÍDA:
Olá! Seja bem-vindo!

🔹 Função com Parâmetros

Funções podem receber valores de entrada (parâmetros):

def exibir_nome(nome):
    print(f"Seu nome é {nome}")

#Chamando com argumento:
exibir_nome("Darlan")

SAÍDA:
Seu nome é Darlan

🔹 Função com Retorno (return)

A função pode devolver um valor com return:

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

#Armazenando o retorno:
resultado = somar(5, 3)
print("Soma:", resultado)

SAÍDA:
Soma: 8

🔹 Parâmetros Opcionais (com valor padrão)

def apresentar(nome="Visitante"):
    print(f"Olá, {nome}!")

#CHAMANDO
apresentar()
apresentar("Darlan")

SAÍDA:
Olá, Visitante!
Olá, Darlan!

🔹 Funções Anônimas (Lambda)

Usadas para funções simples, sem def.

quadrado = lambda x: x * x
print(quadrado(4))

SAÍDA:
16

🔹 Funções e Listas (exemplo com loop)

def dobrar_valores(lista):
    nova_lista = []
    for num in lista:
        nova_lista.append(num * 2)
    return nova_lista

print(dobrar_valores([1, 2, 3]))

SAÍDA:
[2, 4, 6]

🧠 Dica: