Parabéns

Introdução à programação orientada a objetos em Python

George Boorman

Curriculum Manager, DataCamp

Classes e objetos

Termo Definição
Classe Um modelo/template para criar objetos
Objeto Combinação de dados e funcionalidade; uma instância de uma classe
Introdução à programação orientada a objetos em Python

Atributos e métodos

Termo Definição
Classe Um modelo/template para criar objetos
Objeto Combinação de dados e funcionalidade; uma instância de uma classe
Estado Dados do objeto, definidos por atributos
Comportamento A funcionalidade do objeto, definida por métodos
Introdução à programação orientada a objetos em Python

Conceitos centrais

Encapsulamento:

  • Agrupar dados e métodos

Herança:

  • Estender funcionalidades existentes

Polimorfismo:

  • Criar uma interface unificada
Introdução à programação orientada a objetos em Python

Comparações

Operador Método
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Introdução à programação orientada a objetos em Python

Representação em string

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informal, para usuári@ final
  • representação como string

__repr__()

  • repr(obj), impressão no console
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formal, para desenvolvedor@
  • representação _repr_odutível/_repr_esentável
  • fallback de print()
Introdução à programação orientada a objetos em Python

Tratamento de erros

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)
Introdução à programação orientada a objetos em Python

Próximos passos

  • Herança múltipla
  • Descritores
  • Atributos personalizados
  • Iteradores personalizados
  • Anotações de tipo
  • Classes abstratas base
Introdução à programação orientada a objetos em Python

Vamos praticar!

Introdução à programação orientada a objetos em Python

Preparing Video For Download...