La digitazione anatra (o duck typing) in Python è un concetto di programmazione che si preoccupa delle operazioni che l’oggetto può effettivamente eseguire, piuttosto che del tipo di oggetto stesso. Questo è importante nella programmazione orientata agli oggetti e viene utilizzato in Python grazie alla sua capacità di tipizzazione dinamica.
Prende il nome dal principio “Se cammina come un’anatra, nuota come un’anatra e starnazza come un’anatra, allora probabilmente è un’anatra”. In altre parole, è più importante ciò che un oggetto può fare, piuttosto che cosa effettivamente è.
Qui un esempio:
```
class Anatra:
def vola(self):
print(“Anatra sta volando”)
class Aeroplano: def vola(self): print(“Aeroplano sta volando”)
def fai_volare(oggetto_vola): oggetto_vola.vola()
anatra = Anatra()
aeroplano = Aeroplano()
fai_volare(anatra) # Output: Anatra sta volando
fai_volare(aeroplano) # Output: Aeroplano sta volando
```
Benche’ anatra e aeroplano siano di tipo diverso, il duck typing permette di passare entrambi alla funzione fai volare, poiche’ entrambi hanno un metodo chiamato vola. E’ importante che l’oggetto esegua l’operazione richiesta piuttosto che l’oggetto sia di un determinato tipo.