Guia de estudo

01/04/2026 · Aula inaugural

Apresentação

& Fundamentos de Python

Programação Orientada a Objetos com Python
Tecnologia em Análise e Desenvolvimento de Sistemas

4 horas Teoria + Prática Dinâmica de grupo Exercício

agenda de hoje

O que vamos fazer nessa aula

01

Apresentação

A disciplina, o professor, como funciona o curso, as avaliações e o projeto final.

02

Dinâmica

Uma atividade em grupo para entender o que é POO antes de ver qualquer código.

03

Python na prática

Configurar o ambiente, revisar os fundamentos da linguagem e fazer o primeiro exercício.

sobre a disciplina

Programação Orientada a Objetos com Python

item detalhe
Carga horária 120 horas · 30 aulas de 4h
Período 01/04 a 17/07 de 2026
1ª Avaliação (VA) 03/06 · prova prática
2ª Avaliação (VA) 14/07 · prova prática
Projeto final Semana de 06 a 17/07 · em grupo
Linguagem Python

quem vai dar essa aula

Leo AD

Leo AD

Engenheiro de Software · +10 anos de experiência

• Desenvolvedor front-end na Humanerds (fábrica de software canadense) — projetos nos EUA, Canadá e Reino Unido

• Stack: React, Next.js, WordPress, PHP, AWS, Cloudflare e mais um monte de coisa!

• Bacharel em Engenharia de Computação pela UniEVANGÉLICA

• Pós-graduando em Inteligência Artificial e Computacional na UFV

• Trajetória diversa: vendas, gestão, política e tecnologia — incluindo estágio internacional no Reino Unido

♥ Casado com a Nathália, Pai do João Paulo 💕

Vive: ♟ boardgames, ☕ café, 🎞 vinis

dinâmica de grupo

Quem é você e algo que te representa?

Se apresente com: seu nome, sua idade, onde trabalha, por que escolheu esse curso, e me traga uma coisa — pode ser física ou não — que te representa de alguma forma. Pode ser celular, carro, tênis, cachorro - qualquer coisa.

Descreve pra mim

Cor, tamanho, marca, modelo... como você descreveria essa coisa para alguém que nunca viu?

Me conta o que rola

O que você faz com ela no dia a dia? Ou o que ela faz por você?

Vamos anotar as respostas no quadro em duas colunas. No final, vai ficar claro por que essas duas perguntas são o coração da POO.

reveal

Vocês acabaram de descrever uma classe.

📱

Objeto

O celular que você escolheu

Atributos

As características que você listou

marca = "Samsung"
bateria = 80
cor = "preto"

Métodos

As ações que você listou

ligar()
tirar_foto()
carregar()
Em Python, isso se chama classe. Cada celular específico é um objeto — uma instância dessa classe.

motivação

Por que POO existe?

Imagine um programa com 3.000 linhas onde tudo são variáveis soltas e funções espalhadas.

✗ Sem organização

  • Difícil encontrar onde algo está
  • Mudar uma coisa quebra outra
  • Impossível reutilizar código
  • Trabalho em equipe vira caos

✓ Com POO

  • Código organizado em blocos lógicos
  • Cada parte cuida de si mesma
  • Fácil reutilizar e expandir
  • Base de todo software moderno

fundamentos teoria

Os 4 Pilares da POO

🔒

Encapsulamento

Proteger dados internos e controlar acesso

🧬

Herança

Reaproveitar código de classe-pai

🎭

Polimorfismo

Mesma ação, comportamentos diferentes

🗺️

Abstração

Mostrar essencial, esconder complexidade

Esses 4 pilares são a base de todo código orientado a objetos bem estruturado. Vamos explorar cada um nas próximas aulas!

contexto

O que é Python e por que usamos

  • 📅 Criada por Guido van Rossum em 1991
  • 🌍 Linguagem mais popular do mundo (TIOBE, 2024)
  • 📊 Domina Data Science, IA e backend moderno
  • 🏢 Usada por Google, Instagram, Spotify, Netflix, NASA

Interpretada

Escreve e roda na hora — sem compilação

Tipagem dinâmica

Você não declara o tipo — Python descobre pelo valor

Multiparadigma

Procedural, orientada a objetos e funcional

ambiente de desenvolvimento

Instalação e configuração

1

Instalar Python

python.org/downloads → baixar o instalador → marcar "Add to PATH" durante a instalação

2

Instalar VS Code

code.visualstudio.com → baixar e instalar normalmente

3

Extensão Python no VS Code

Ícone de extensões → pesquisar "Python" → instalar a da Microsoft

4

Testar

Criar ola.py → digitar print("Olá, mundo!") → rodar com ▶

fundamentos python

Variáveis e tipos

Em Python você não precisa declarar o tipo — ele é definido pelo valor.

variaveis.py
# Tipos básicos
nome   = "Ana"    # str
idade  = 22       # int
altura = 1.68     # float
ativo  = True     # bool

# f-string
print(f"Olá, {nome}! Você tem {idade} anos.")

# input() sempre retorna str — converter!
idade = int(input("Sua idade: "))

fundamentos python

Funções

Funções são blocos de código reutilizáveis. Defina uma vez, use várias.

funcoes.py
def saudacao(nome):
    print(f"Olá, {nome}!")

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

saudacao("turma")        # Olá, turma!
resultado = soma(3, 7)
print(resultado)         # 10
Spoiler: funções dentro de uma classe se chamam métodos — exatamente o que vocês listaram na dinâmica.

fundamentos python

Condicionais

Tomando decisões com if, elif e else.

condicionais.py
nota = float(input("Digite sua nota: "))

if nota >= 7:
    print("Aprovado!")
elif nota >= 5:
    print("Recuperação")
else:
    print("Reprovado")

# Tratar divisão por zero
if b != 0:
    print(10 / b)
else:
    print("Não é possível dividir por zero!")

exercício

Calculadora interativa

1

Obrigatório

Pede dois números, exibe soma, subtração, multiplicação e divisão. Trata divisão por zero.

2

Desafio

Usa funções para cada operação. Menu de escolha. Loop até o usuário digitar "sair".

3

Avançado

Organiza tudo dentro de uma classe Calculadora. Spoiler do que vem na aula 2.

O nível 1 é obrigatório para todos. Os demais são opcionais — trabalho individual, mas pode tirar dúvida com o colega.

exercício · nível 1

O que o programa precisa fazer

1

Entrada 1

Pedir o primeiro número ao usuário

2

Entrada 2

Pedir o segundo número ao usuário

3

Operação

Exibir o resultado da soma

4

Operação

Exibir o resultado da subtração

5

Operação

Exibir o resultado da multiplicação

6

Operação

Exibir a divisão — se o segundo número for zero, mostrar mensagem de erro

correção · nível 1

Uma solução possível

calculadora.py
print("=== Calculadora ===")
a = float(input("Primeiro número: "))
b = float(input("Segundo número:  "))

print(f"Soma:          {a + b}")
print(f"Subtração:     {a - b}")
print(f"Multiplicação: {a * b}")

if b != 0:
    print(f"Divisão:       {a / b:.2f}")
else:
    print("Divisão:       impossível dividir por zero!")

spoiler · nível 3 · aula 2

A mesma calculadora como classe

calculadora_oo.py
class Calculadora:

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

    def dividir(self, a, b):
        if b == 0:
            return "Erro: divisão por zero"
        return a / b

calc = Calculadora()
print(calc.somar(10, 5))
print(calc.dividir(10, 0))
Não precisa entender tudo agora. Na aula 2 vamos construir isso do zero, passo a passo.

fechamento

O que vimos hoje

  • Por que POO existe — organizar código complexo de forma que faça sentido para humanos
  • Classe, atributo e método — conceitos que vocês já sabiam, só não tinham o nome
  • Ambiente configurado — Python + VS Code prontos para usar
  • Fundamentos Python — variáveis, tipos, input, f-string, funções, if/else
  • Exercício da calculadora — aplicação prática de tudo que vimos

para casa

15 exercícios gradativos

Só com o que vimos hoje. Faça o máximo que conseguir e anote suas dúvidas para a aula 2.

4

Fácil

Exercícios: #1, #2, #3, #4

4

Médio

Exercícios: #5, #6, #7, #8

4

Difícil

Exercícios: #9, #10, #11, #12

3

Avançado

Exercícios: #13, #14, #15

exercícios para casa · nível fácil

Nível Fácil

01

Apresentação pessoal

Crie variáveis com seu nome, idade e cidade natal. Exiba uma frase de apresentação completa usando f-string.

Exemplo de saída: Olá! Meu nome é Ana, tenho 22 anos e moro em Anápolis.

02

Idade em meses

Peça a idade do usuário em anos e exiba quantos meses de vida ele tem.

03

Dobro e triplo

Peça um número inteiro e exiba o dobro e o triplo.

04

Conversor de temperatura

Peça uma temperatura em Celsius e converta para Fahrenheit.

Fórmula: F = C × 1.8 + 32

exercícios para casa · nível médio

Nível Médio

05

Par ou ímpar

Peça um número inteiro e informe se é par ou ímpar.

Dica: use o operador % (resto da divisão). Se n % 2 == 0, o número é par.

06

Maior de dois números

Peça dois números e informe qual é o maior. Trate o caso em que são iguais.

07

Classificação de idade

Peça a idade do usuário e classifique de acordo com a faixa etária:
• Criança: 0 a 12 anos
• Adolescente: 13 a 17 anos
• Adulto: 18 a 59 anos
• Idoso: 60 anos ou mais

08

Aprovado ou reprovado

Peça o nome do aluno e duas notas. Calcule a média e informe a situação:
• Aprovado: média maior ou igual a 7
• Recuperação: média entre 5 e 6.9
• Reprovado: média menor que 5

exercícios para casa · nível difícil

Nível Difícil

09

Função de saudação

Crie uma função chamada saudacao(nome, periodo) que receba o nome da pessoa e o período do dia (manhã, tarde ou noite) e retorne uma saudação personalizada.

Exemplo: saudacao("João", "tarde") → "Boa tarde, João!"

10

Calculadora com funções

Crie quatro funções separadas: somar(a, b), subtrair(a, b), multiplicar(a, b) e dividir(a, b).

A função dividir deve retornar uma mensagem de erro caso b seja zero, em vez de travar o programa.

11

Verificador de senha

Crie uma função chamada verificar_senha(senha) que retorne True se a senha tiver 8 ou mais caracteres, e False caso contrário.

Peça uma senha ao usuário e exiba se ela é válida ou fraca, informando quantos caracteres foram digitados.

12

Calculadora de IMC

Crie duas funções:
• calcular_imc(peso, altura): retorna o IMC (peso dividido pela altura ao quadrado)
• classificar_imc(imc): retorna a classificação (Abaixo < 18.5, Normal 18.5-24.9, Sobrepeso 25-29.9, Obesidade >= 30)

exercícios para casa · nível avançado

Nível Avançado

13

Tabuada personalizada

Crie uma função chamada tabuada(numero) que imprima a tabuada completa de 1 a 10 desse número. Use um loop for com range(1, 11).

14

Conversor completo

Crie funções de conversão:
• km_para_milhas: × 0.621371
• kg_para_libras: × 2.20462
• celsius_para_fahrenheit: × 1.8 + 32
Exiba um menu e use if/elif para a escolha.

15

Validador de triângulo

Crie uma função pode_ser_triangulo(a, b, c): a soma de quaisquer dois lados deve ser maior que o terceiro. Se válido, classifique: Equilátero, Isósceles ou Escaleno.

para casa · importante

Crie sua conta no GitHub

GitHub é onde você vai entregar todos os trabalhos, projetos e exercícios desta disciplina.

1

Cadastro

Acesse github.com e crie uma conta gratuita. Use um nome de usuário profissional.

2

Aprendizado

Assista o curso rápido sugerido abaixo (30 min) para entender os primeiros passos.

3

Urgência

Todas as entregas serão feitas via GitHub. Comece agora para não ficar para trás.

Atenção: ⚠️ Atenção: Todas as entregas de código, projetos e exercícios serão feitas via GitHub. Comece agora para não ficar para trás.

próxima aula

Aula 2 · 06/04

Classes e objetos em Python

Vamos transformar a dinâmica de hoje em código real. A calculadora vira uma classe — e vai fazer muito mais sentido.

class em Python atributos de instância criando objetos primeiro __init__