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
Família do Leo
fora do código
♞ boardgames ☕ café 🎞 vinis
Casado com a Nathália, Pai do João Paulo 💕

Leonardo
Antonio de Deus

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
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

💡 Dica: 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, 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

Crie um programa que pede dois números e exibe os resultados das quatro operações.

Nível 1 · obrigatório

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

Nível 2 · desafio

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

Nível 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
    Pedir o primeiro número ao usuário
  • 2
    Pedir o segundo número ao usuário
  • 3
    Exibir o resultado da soma
  • 4
    Exibir o resultado da subtração
  • 5
    Exibir o resultado da multiplicação
  • 6
    Exibir a divisão — se o segundo número for zero, mostrar mensagem de erro
Dica: use float(input(...)) para aceitar decimais e f"..." para formatar a saída.
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.

Fácil
4
exercícios
#1, #2, #3, #4
Médio
4
exercícios
#5, #6, #7, #8
Difícil
4
exercícios
#9, #10, #11, #12
Avançado
3
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

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. Teste todas as funções com valores à sua escolha

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

Classificações:
• Abaixo do peso: IMC menor que 18.5
• Normal: 18.5 a 24.9
• Sobrepeso: 25 a 29.9
• Obesidade: 30 ou mais

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) para percorrer os multiplicadores. Peça o número ao usuário.

14 Conversor completo

Crie três funções de conversão:
• km_para_milhas(km): multiplica por 0.621371
• kg_para_libras(kg): multiplica por 2.20462
• celsius_para_fahrenheit(c): c × 1.8 + 32
Exiba um menu com as três opções, peça o valor ao usuário e mostre o resultado da conversão escolhida usando if/elif.

15 Validador de triângulo

Crie uma função pode_ser_triangulo(a, b, c) que verifique se três lados formam um triângulo válido. A regra é: a soma de quaisquer dois lados deve ser maior que o terceiro.

Se for válido, crie também uma função que classifique o triângulo:
• Equilátero: três lados iguais
• Isósceles: dois lados iguais
• Escaleno: todos os lados diferentes

para casa · importante

Crie sua conta no
GitHub

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

📋 O que fazer:

  • 1
    Acesse github.com e crie uma conta (é gratuita!)
  • 2
    Use um nome de usuário que faça sentido pra você (você provavelmente usará este nome em projetos futuros)
  • 3
    Assista o curso rápido no link abaixo (30 min)

📺 Curso gratuito de GitHub:

Assistir no YouTube

⚠️ 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 02 · 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__
Foto
1 / 10