Módulo 1:
Fundamentos
Introdução às Funções
CA DE R N O PR ÁTI CO DE ESTU D OS ( PY TH O N 3 )
1. O que são Funções?
Funções são blocos isolados de código que realizam uma tarefa
específica. Ao escrever automações ou sistemas complexos,
muitas vezes realizamos e validamos as mesmas ações várias
vezes. Funções evitam a repetição de código, facilitando muito a
manutenção. Se houver um erro, você corrige em um só lugar.
def saudacao():
print('Iniciando execução do script...')
2. Sintaxe Básica (def)
No Python, definimos funções usando a palavra reservada 'def',
seguida do nome desejado para a função e um par de parênteses.
A indentação (espaços no início da linha) define explicitamente o
que pertence ao escopo da função e o que está fora dela.
def validar_pagina_inicial():
print('Página inicial carregada.')
print('Elementos visíveis verificados.')
3. Parâmetros e Argumentos
Parâmetros permitem enviar dados para dentro da função na hora
da chamada. Isso a torna dinâmica e flexível, podendo operar com
valores totalmente diferentes a cada execução, como validar várias
URLs ou ambientes de teste sem reescrever código.
def acessar_url(url):
print(f'Navegando de forma segura para: {url}')
acessar_url('[Link]
4. O Comando Return
Em vez de apenas imprimir informações na tela, funções no mundo
real geralmente processam dados, executam testes e devolvem um
resultado avaliado para o programa principal usando a instrução
'return'. Qualquer código após o return é ignorado.
def somar_metricas(a, b):
resultado = a + b
return resultado
5. Retorno Múltiplo
Python possui uma funcionalidade incrível e muito conveniente:
permite retornar múltiplos valores simultaneamente em uma única
instrução, apenas separando-os por vírgula. Por baixo dos panos, o
interpretador Python empacota esses valores em uma estrutura de
Tupla.
def analisar_resultados(falhas, sucessos):
total = falhas + sucessos
taxa_falha = (falhas / total) * 100
return total, taxa_falha
6. Boas Práticas (Clean Code)
Sempre nomeie funções com verbos que indicam a ação que elas
realizam (ex: calcular_taxa, validar_perfil). Use o padrão
'snake_case' (letras minúsculas unidas por underscores) para
manter total aderência ao guia de estilo da comunidade Python
(PEP 8).
# Ruim
def Calc(x): return x*2
# Excelente
def calcular_dobro_valor(valor):
return valor * 2
Laboratório Prático 1
Desafio - Validar Status HTTP: Crie uma função que receba
um código numérico de status HTTP (ex: 200, 404). Ela deve
retornar o valor booleano True estritamente se o código for
200 ou 201, e False em qualquer outro cenário.
Gabarito Recomendado
def validar_status(codigo):
return codigo in (200, 201)
Por que funciona? Usamos o poderoso operador 'in' com
uma tupla para verificar rapidamente ambas as condições
em uma única linha enxuta.
Laboratório Prático 2
Desafio - Calculadora de Desconto: Implemente uma
função que recebe um valor financeiro total e uma
porcentagem de desconto. A função deve calcular a
subtração e retornar o valor final a ser pago.
Gabarito Recomendado
def calcular_desconto(valor, porcentagem):
desconto = valor * (porcentagem / 100)
return valor - desconto
Por que funciona? Calculamos o valor relativo da
porcentagem matemática primeiro, e depois subtraímos do
total original de forma clara.
Laboratório Prático 3
Desafio - Verificador de Paridade: Crie uma função
matemática básica que recebe um número inteiro e retorna a
string literal 'Par' se for um número par, e 'Ímpar' caso
contrário. Evite o uso da cláusula 'else'.
Gabarito Recomendado
def verificar_paridade(numero):
if numero % 2 == 0:
return 'Par'
return 'Ímpar'
Por que funciona? Usamos o operador módulo (%). Como
o 'return' encerra a função imediatamente caso a condição
seja verdadeira, a cláusula 'else' se torna redundante.
Laboratório Prático 4
Desafio - Gerador de Email Corporativo: Crie uma função
que recebe o nome de um funcionário e o domínio da
empresa, e retorna uma string no formato
email@[Link], tudo em letras minúsculas.
Gabarito Recomendado
def gerar_email(nome, dominio):
return f'{[Link]()}@{dominio}'
Por que funciona? Utilizamos as modernas f-strings do
Python para interpolar dinamicamente as variáveis e o
método nativo lower() para forçar as letras minúsculas no
nome.
Laboratório Prático 5
Desafio - Encontrar o Maior Valor: Construa uma função
manual que recebe três números independentes e retorna
estritamente o maior deles, sem utilizar nenhuma função
embutida do Python, como o max().
Gabarito Recomendado
def maior_de_tres(a, b, c):
maior = a
if b > maior:
maior = b
if c > maior:
maior = c
return maior
Por que funciona? Inicializamos a variável auxiliar 'maior'
adotando o primeiro número como baseline e realizamos
comparações lógicas sequenciais para atualização.