¿Qué es la POO?

Introducción a la programación orientada a objetos en Python

George Boorman

Curriculum Manager, DataCamp

Programación procedural

 

  • Código como una secuencia de pasos
  • Genial para análisis de datos

Escaleras

1 Fuente de la imagen: https://unsplash.com/@tateisimikito
Introducción a la programación orientada a objetos en Python

Pensar en secuencias

 

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

 

conjunto de iconos que representan muchas actividades

Introducción a la programación orientada a objetos en Python

Programación procedural

 

  • Código como una secuencia de pasos
  • Genial para análisis de datos

Programación orientada a objetos

 

  • Código como interacciones de objetos
  • Genial para crear software
  • ¡Código mantenible y reutilizable!
Introducción a la programación orientada a objetos en Python

Objetos

$$\Large{\text{Objeto = datos + funcionalidad}}$$

silueta de una persona con un portátil que representa a un cliente

                                                  Estado: los datos de un objeto

                                                  Comportamiento: la funcionalidad de un objeto

Introducción a la programación orientada a objetos en Python

Objetos en Python

  • Todo en Python es un objeto
Objeto Tipo
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Introducción a la programación orientada a objetos en Python

Clases como planos

  • Clase: un plano para objetos que define estados y comportamientos posibles

clase customer

Introducción a la programación orientada a objetos en Python

Clases como planos

  • Clase: un plano para objetos que define estados y comportamientos posibles

clase customer ramificándose en objetos customer

Introducción a la programación orientada a objetos en Python

Clases en Python

  • Los objetos de Python del mismo tipo se comportan igual
  • lists son una clase
    • Se crean con valores separados por comas [1, 2, 3, 4, 5]
    • Comparten los mismos métodos, p. ej., .append()
  • Usa type() para ver la clase
type([1, 2, 3, 4, 5])
<class 'list'>
Introducción a la programación orientada a objetos en Python

Atributos y métodos

Estado ↔ atributos
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# atributo shape df.shape
(3, 2)
  • Usa obj. para acceder a atributos y métodos
Comportamiento ↔ métodos
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# método head df.head()
   a  b
0  1  4
1  2  5
2  3  6
Introducción a la programación orientada a objetos en Python

Mostrar atributos y métodos

# Mostrar atributos y métodos
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Mostrar atributos y métodos
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Introducción a la programación orientada a objetos en Python

Chuleta

Término Definición
Clase Un plano/plantilla para crear objetos
Objeto Combinación de datos y funcionalidad; una instancia de una clase
Estado Datos asociados a un objeto, asignados mediante atributos
Comportamiento La funcionalidad de un objeto, definida mediante métodos
Introducción a la programación orientada a objetos en Python

¡Repasemos!

Introducción a la programación orientada a objetos en Python

Preparing Video For Download...