“Duck typing” est un concept de programmation en Python qui dit: “Si ça marche comme un canard, et si ça fait du bruit comme un canard, alors c’est un canard”.
Cela signifie simplement qu’il n’est pas nécessaire de vérifier le type d’un objet pour savoir s’il a une méthode ou une caractéristique particulière. Au lieu de cela, vous supposez simplement qu’il l’a. Si l’objet ne possède pas cette méthode, une erreur sera levée à l’exécution (et non à la compilation).
Par exemple:
```
def voler(objet):
objet.voler()
```
Dans ce cas, on ne se soucie pas du type de l’objet. Il pourrait être un canard, un avion ou Superman. Tant qu’il a une méthode `voler()`, ça fonctionnera. Sinon, une `AttributeError` sera levée lors de l’exécution du code.
C’est une approche plus “flexible” pour la vérification des types, par rapport à d’autres langages de programmation qui sont plus stricts sur les types des objets et nécessitent souvent des vérifications de type explicites ou des interfaces.