Funções & POO
em Python
Programação Orientada a Objetos
Funções · Classes · Herança · Encapsulamento
Funções em Python
# Função básica com parâmetro padrão
def calcular(a, b, operacao='soma'):
ops = {'soma': a+b, 'mult': a*b}
return [Link](operacao, 0)
# *args e **kwargs
def resumo(*nums, titulo='Resultado'):
return f'{titulo}: soma={sum(nums)}'
# Lambda (função anônima)
dobro = lambda x: x * 2
Classes e Objetos
class Animal:
def __init__(self, nome, especie):
[Link] = nome
[Link] = especie
def apresentar(self):
return f"Sou {[Link]}, um(a) {[Link]}"
# Criando instâncias
gato = Animal("Mimi", "gato")
print([Link]()) # Sou Mimi, um(a) gato
Herança
class Cachorro(Animal): # herda de Animal
def __init__(self, nome, raca):
super().__init__(nome, 'cachorro')
[Link] = raca
def latir(self):
return f"{[Link]} diz: Au au!"
rex = Cachorro("Rex", "Labrador")
print([Link]()) # herda de Animal
print([Link]()) # método próprio
Os 4 Pilares da POO
Encapsulamento Herança
Esconde detalhes internos, expõe apenas o necessário Classe filha reutiliza código da classe pai
Polimorfismo Abstração
Mesmo método, comportamentos diferentes em
Simplifica complexidade, foca no essencial
subclasses