Beispielanalyse des Polymorphismus in Python (Details)
Der Inhalt dieses Artikels befasst sich mit der Beispielanalyse von Polymorphismus in Python. Er hat einen gewissen Referenzwert. Ich hoffe, er wird für Sie hilfreich sein.
class Human(object): # 父类 :创建“人”类 def __init__(self): print('Ill pound the code and buy you a bag') # 我会敲打码,给你买包包 class Man(Human): # 1)子类1 创建“男人”类 def __init__(self): print('In hs, we should have the knowledge to drink wine.The President up, the kitchen down') # 在衡水,要文武双全,有知识,会喝酒;上的总裁,下的厨房 class Woman(Human):# 2)子类2 创建“女人”类 def __init__(self): print('If a man loves me, I dont care if he has a house or a car.Woman?Do you believe a') # 如果男人爱我,我不会在意他有没有房子车子。呵呵女人啊?你信了那只能说明你太天真了。 print('human:') h = Human() print('man:') m = Man() print('woman:') w = Woman() # 分别对 人类、男人类、女人类创建一个变量h、m、w print(isinstance(h,Human))#isinstance举例 print(isinstance(m,Man)) print(isinstance(m,Human)) # 分别判断h是人类吗、m是男人类吗、m是人类吗,输出结果全部为是。 #输出结果是: # human: # Ill pound the code and buy you a bag # man: # In hs, we should have the knowledge to drink wine.The President up, the kitchen down # woman: # If a man loves me, I dont care if he has a house or a car.Woman?Do you believe a # True # True # True
Dies ist der Polymorphismus von Variablen. Wenn m die __init__-Methode aufruft, unterscheidet sich der Ausgabeinhalt von Humans __init__. Dies ist der Polymorphismus von polymorphen Funktionen.
Duck Typing:
Referenz Duck Typing (englisch: Duck Typing) ist 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 kann der Vogel 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 Methoden „walk“ und „quack“ aufruft. In einer Sprache, die Duck-Typing verwendet, kann eine solche Funktion ein Objekt jeden Typs akzeptieren und seine Methoden „walk“ und „call“ aufrufen. Wenn die aufzurufenden Methoden nicht vorhanden sind, wird ein Laufzeitfehler ausgelöst. Dieses Verhalten eines beliebigen Objekts mit den richtigen Methoden „walk“ und „call“ kann von der Funktion akzeptiert werden, was zu der obigen Anweisung führt und diese Art der Typbestimmung benannt wird.
Duck-Typing profitiert oft davon, dass man die Argumenttypen in Methoden und Funktionen nicht testet, sondern sich stattdessen auf Dokumentation, klaren Code und Tests verlässt, um die korrekte Verwendung sicherzustellen.
Um es zusammenzufassen: Ententypisierung bedeutet, Methoden zu verwenden, die scheinbar nicht zu Ihnen gehören (Methoden anderer Funktionen). Ihre eigene Funktion wird ihre Natur nach der Instanziierung ändern
Das obige ist der detaillierte Inhalt vonBeispielanalyse des Polymorphismus in Python (Details). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

Fastapi ...

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...
