Capítulo 9: Programação orientada à objetos

Tullio Tricca Neto
neurondsai
Published in
2 min readNov 22, 2022

Nesse Capítulo no nosso “Livro de Python”, vamos falar sobre Programação Orientada a Objetos.

Para deixar nosso código mais limpo e simples podemos encapsular dados e funções definindo classes.

Vamos criar uma classe para contar o numero de participantes do Bootcamp da Neuron.

A classe terá um count para incrementar os participantes, um read_count para fazer a leitura da contagem e um reset para zerar a contagem.

Para definir uma classe, usamos a palavra-chave class:

Para receber todos os parâmetros necessários usamos um construtor chamado __init__
Convencionamos usar um parâmetro self para instância da classe.

class CountBootcamp:
def __init__(self, count = 0):
self.count = count

Veja algumas variáveis que podem chamar a classe:

click0 = CountBootcamp()            # para iniciar count = 0
click1 = CountBootcamp(1) # para iniciar count = 1
click2 = CountBootcamp(10) # para iniciar count = 10

Implementando a API pública da classe:

class CountBootcamp:
def __init__(self, count = 0):
self.count = count

def click(self, xvezes = 1):
self.count += xvezes

def read(self):
return self.count

def reset(self):
self.count = 0fsdfas

Chamando a classe e suas funções:

click0 = CountBootcamp()           # iniciando count = 0
click0.click() # count = 1
click0.click() # count = 2
click0.read() # retorna 2
click0.reset() # reseta count = 0
click0.read() # retorna 0

Podemos criar subclasses que herdam as funcionalidades de uma classe mãe.
Nesse exemplo vamos criar uma contador usando o CountBootcamp definindo o reset para não fazer nada:

class NoResetCount(CountBootcamp):
def reset(self):
pass

Chamando a subclasse e suas funções herdadas:

newclick = NoResetCount()         # iniciando count = 0
newclick.read() # retorna 0
newclick.click() # count = 1
newclick.click() # count = 2
newclick.reset() # não faz nada
newclick.read() # retorna 2

Gostou do conteúdo? Siga a Neuron Ds&AI para mais conteúdos, curiosidades e artigos sobre ciência de dados!

Referências bibliográficas

(O’REILLY — ALTA BOOKS ,2021) “Data Science do Zero — Noções Fundamentais com Python” — Joel Grus

--

--