¿Qué es la POO?

Programación orientada a objetos en Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Programación procedural

 

  • Código como secuencia de pasos
  • Ideal para análisis de datos
Programación orientada a objetos en Python

Pensando en secuencias

 

iconos de una persona en la cama seguido de un icono de café seguido de un icono de maletín

 

una variedad de iconos que representan muchas actividades

Programación orientada a objetos en Python

 

Programación procedural

 

  • Código como secuencia de pasos
  • Ideal para análisis de datos y scripts

 

Programación orientada a objetos

 

  • Código como interacciones de objetos
  • Ideal para crear frameworks y herramientas
  • ¡Código mantenible y reutilizable!
Programación orientada a objetos en Python

Objetos como estructuras de datos

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

silueta de una persona con un portátil representando a un cliente

 

$$\text{\textbf{Encapsulación} - agrupando datos con el código que opera sobre ellos}$$

Programación orientada a objetos en Python

Clases como planos

  • Clase: plano para objetos que define estados y comportamientos

clase cliente

Programación orientada a objetos en Python

Clases como planos

  • Clase: plano para objetos que define estados y comportamientos

clase cliente ramificándose en objetos cliente

Programación orientada a objetos en Python

Objetos en Python

  • Todo en Python es un objeto
  • Cada objeto tiene una clase
  • Usa type() para encontrar la clase
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Objeto Clase
5 int
"Hola" str
pd.DataFrame() DataFrame
np.mean function
... ...
Programación orientada a objetos en Python

Atributos y métodos

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

# atributo shape a.shape
(4,)

 

  • Usa obj. para acceder a atributos y métodos
Comportamiento ↔ 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]])
Programación orientada a objetos en Python

Objeto = atributos + métodos

  • atributo ↔ variablesobj.mi_atributo,

  • método ↔ función()obj.mi_método().

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

Programación orientada a objetos en Python

¡Vamos a repasar!

Programación orientada a objetos en Python

Preparing Video For Download...