In der Programmierung ist Duck Typing ein Stil des dynamischen Tippens. Bei diesem Stil wird die effektive Semantik eines Objekts nicht durch das Erben von einer bestimmten Klasse oder die Implementierung einer bestimmten Schnittstelle bestimmt, sondern durch den aktuellen Satz von Methoden und Eigenschaften. Der Name dieses Konzepts stammt von dem von James Whitcomb Riley vorgeschlagenen Ententest. Der „Ententest“ kann folgendermaßen ausgedrückt werden: „Wenn Sie einen Vogel sehen, der wie eine Ente geht, schwimmt wie eine Ente und quakt wie eine Ente.“ dann dieser Vogel Es kann eine Ente genannt werden.“ Beim Duck-Typing liegt der Fokus nicht auf der Art des Objekts selbst, sondern auf der Art und Weise, wie es verwendet wird. Beispielsweise könnten wir in einer Sprache, die kein Duck-Typing verwendet, eine Funktion schreiben, die ein Objekt vom Typ duck nimmt und dessen Walk- und Bark-Methoden aufruft. In einer Sprache, die Duck-Typing verwendet, kann eine solche Funktion ein Objekt jeden Typs akzeptieren und seine Walk- und Call-Methoden aufrufen. Wenn die aufzurufenden Methoden nicht vorhanden sind, wird ein Laufzeitfehler ausgelöst. Die Tatsache, dass jedes Objekt mit den richtigen Walk- und Call-Methoden von einer Funktion akzeptiert werden kann, führt zu der obigen Aussage, daher der Name dieser Art der Typenbestimmung. Duck-Typing ist normalerweise
1. Detaillierte Erläuterung der Duck-Typing-Programmierung und der Python-Implementierung
Einführung: In diesem Artikel werden hauptsächlich detaillierte Erläuterungen zur Duck-Typing-Programmierung und Python-Implementierungsbeispiele vorgestellt. Freunde, die dies benötigen, können sich darauf beziehen. Weiter
2. Einführung in die Enteneingabe von Python im Detail
Einführung: Ich glaube, dass Python-Entwickler mit Pythons Ententypisierung vertraut sind. Die genaue Definition von Ententypisierung in Wikipedia ist „ein Stil der dynamischen Typisierung“. Bei diesem Stil wird die effektive Semantik eines Objekts nicht durch die Vererbung von einer bestimmten Klasse oder die Implementierung einer bestimmten Schnittstelle bestimmt, sondern durch den „aktuellen Satz von Methoden und Eigenschaften“. In diesem Artikel erfahren Sie, wie Sie in Python alles richtig machen.
3. Sollte eine Pythonic-Klasse die Parametergültigkeit in __init__ überprüfen?
Einführung: Ich weiß, dass Parametertypen nach dem Duck-Typing-Prinzip nicht überprüft werden sollten. Aber sollten Parameter auf andere Weise auf ihre Gültigkeit überprüft werden? Zum Beispiel: class Comment(object):... def __init__(self, content, creater, ipaddress):... ... self.content = content... ... self.creater = creater... . .self.ipaddre
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des Duck-Typings in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!