O que é POO?

Programação orientada a objetos em Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Programação procedural

 

  • Código como sequência de passos
  • Ótimo para análise de dados
Programação orientada a objetos em Python

Pensando em sequências

 

ícones de uma pessoa na cama seguido por um ícone de café seguido por um ícone de pasta

 

uma variedade de ícones representando muitas atividades

Programação orientada a objetos em Python

 

Programação procedural

 

  • Código como sequência de passos
  • Ótimo para análise de dados e scripts

 

Programação orientada a objetos

 

  • Código como interações de objetos
  • Ótimo para criar frameworks e ferramentas
  • Código fácil de manter e reutilizar!
Programação orientada a objetos em Python

Objetos como estruturas de dados

$$\Large{\text{Objeto = estado + comportamento}}$$

silhueta de uma pessoa com um laptop representando um cliente

 

$$\text{\textbf{Encapsulamento} - agrupando dados com o código que os manipula}$$

Programação orientada a objetos em Python

Classes como modelos

  • Classe: modelo para objetos, definindo estados e comportamentos possíveis

classe cliente

Programação orientada a objetos em Python

Classes como modelos

  • Classe: modelo para objetos, definindo estados e comportamentos possíveis

classe cliente se ramificando em objetos cliente

Programação orientada a objetos em Python

Objetos em Python

  • Tudo em Python é um objeto
  • Todo objeto tem uma classe
  • Use type() para descobrir a classe
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Objeto Classe
5 int
"Hello" str
pd.DataFrame() DataFrame
np.mean function
... ...
Programação orientada a objetos em Python

Atributos e métodos

Estado ↔ atributos
import numpy as np
a = np.array([1,2,3,4])

# atributo shape a.shape
(4,)

 

  • Use obj. para acessar atributos e métodos
Comportamento ↔ métodos
import numpy as np
a = np.array([1,2,3,4])

# método reshape a.reshape(2,2)
array([[1, 2],
       [3, 4]])
Programação orientada a objetos em Python

Objeto = atributos + métodos

  • atributo ↔ variáveisobj.meu_atributo,

  • método ↔ função()obj.meu_metodo().

import numpy as np
a = np.array([1,2,3,4])
dir(a)                # <--- lista todos os atributos e métodos
['T',
 '__abs__',
 ...
 'trace',
 'transpose',
 'var',
 'view']

Programação orientada a objetos em Python

Vamos revisar!

Programação orientada a objetos em Python

Preparing Video For Download...