Congratulazioni!

Introduzione alla programmazione orientata agli oggetti in Python

George Boorman

Curriculum Manager, DataCamp

Classi e oggetti

Termine Definizione
Classe Un progetto/modello usato per costruire oggetti
Oggetto Una combinazione di dati e funzionalità; Un'istanza di una classe
Introduzione alla programmazione orientata agli oggetti in Python

Attributi e metodi

Termine Definizione
Classe Un progetto/modello usato per costruire oggetti
Oggetto Una combinazione di dati e funzionalità; Un'istanza di una classe
Stato Dati associati a un oggetto, assegnati tramite attributi
Comportamento La funzionalità di un oggetto, definita tramite metodi
Introduzione alla programmazione orientata agli oggetti in Python

Concetti fondamentali

Incapsulamento:

  • Raggruppamento di dati e metodi

Ereditarietà:

  • Estendere la funzionalità del codice esistente

Polimorfismo:

  • Creare un'interfaccia unificata
Introduzione alla programmazione orientata agli oggetti in Python

Confronti

Operatore Metodo
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Introduzione alla programmazione orientata agli oggetti in Python

Rappresentazione della stringa

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informale, per l'utente finale
  • string rappresentazione

__repr__()

  • repr(obj), stampa nella console
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formale, per sviluppatore
  • reprresentazione reprroducibile
  • fallback per print()
Introduzione alla programmazione orientata agli oggetti in Python

Gestione degli errori

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)
Introduzione alla programmazione orientata agli oggetti in Python

Dove andare ora?

  • Ereditarietà multipla
  • Attributi personalizzati
  • Iteratori personalizzati
  • Suggerimenti di tipo
  • Classi base astratte
Introduzione alla programmazione orientata agli oggetti in Python

Passiamo alla pratica!

Introduzione alla programmazione orientata agli oggetti in Python

Preparing Video For Download...