¡Enhorabuena!

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

George Boorman

Curriculum Manager, DataCamp

Clases y objetos

Término Definición
Clase Un plano/plantilla para crear objetos
Objeto Combinación de datos y funcionalidad; una instancia de una clase
Introducción a la programación orientada a objetos en Python

Atributos y métodos

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 Funcionalidad de un objeto, definida con métodos
Introducción a la programación orientada a objetos en Python

Conceptos clave

Encapsulación:

  • Agrupar datos y métodos

Herencia:

  • Ampliar funcionalidad existente

Polimorfismo:

  • Unificar la interfaz
Introducción a la programación orientada a objetos en Python

Comparaciones

Operador Método
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Introducción a la programación orientada a objetos en Python

Representación en cadena

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informal, para el usuario final
  • representación de string

__repr__()

  • repr(obj), impresión en consola
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formal, para la persona desarrolladora
  • representación reproducible representable
  • alternativa para print()
Introducción a la programación orientada a objetos en Python

Manejo de errores

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Introducción a la programación orientada a objetos en Python

¿Qué sigue?

  • Herencia múltiple
  • Descriptores
  • Atributos personalizados
  • Iteradores personalizados
  • Anotaciones de tipo
  • Clases base abstractas
Introducción a la programación orientada a objetos en Python

¡Vamos a practicar!

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

Preparing Video For Download...