Duck-Typing in Python ist ein Programmierkonzept, das besagt, dass das Verhalten eines Objekts bestimmt wird durch die Methoden und Attribute, die es zur Verfügung stellt, nicht durch seine Klassendefinitionen oder seine Vererbungshierarchie.
Dieser Begriff stammt von dem Ausdruck “Wenn es wie eine Ente schnattert und wie eine Ente läuft, dann ist es auch eine Ente”. In Python besagt also Duck-Typing, wenn ein Objekt die gewünschten Methoden und Attribute bereitstellt, kann es als gewünschter Typ verwendet werden, unabhängig von seiner tatsächlichen Klassifikation.
Zum Beispiel, wenn eine Funktion ein Objekt erwartet, das eine “.write()” Methode hat, dann kann jedes Objekt, das diese Methode bereitstellt, unabhängig davon, welche Klasse es tatsächlich ist, an diese Funktion übergeben und korrekt gehandhabt werden. Dies steht im Gegensatz zu stark typisierten Sprachen, in denen der tatsächliche Typ des Objekts entscheidend ist.