Hier sind einige fragenbasierte Titel, die zum Artikel passen: Konzentration auf den Hauptunterschied: * Funktionen, ungebundene Methoden und gebundene Methoden in Python: Was ist der Unterschied? * Python: Wie funktioniert Functio?

Barbara Streisand
Freigeben: 2024-11-02 13:35:30
Original
668 Leute haben es durchsucht

Here are some question-based titles that fit the article:

Focusing on the Key Distinction:

* Functions, Unbound Methods, and Bound Methods in Python: What's the Difference?
* Python: How do Functions, Unbound Methods, and Bound Methods Differ?
* Unders

Die Unterschiede zwischen Funktionen, ungebundenen Methoden und gebundenen Methoden verstehen

Das Verständnis der Unterscheidung zwischen Funktionen, ungebundenen Methoden und gebundenen Methoden ist von entscheidender Bedeutung für die Programmierung in Python. Dieser Leitfaden erläutert die Unterschiede, erklärt, wie sie transformiert werden, und stellt Beispiele zur Veranschaulichung ihrer Verwendung bereit.

Funktionen

Funktionen werden mit der def-Anweisung oder Lambda definiert. Es handelt sich um eigenständige Anweisungen, die bestimmte Operationen ausführen.

Ungebundene Methoden

Unter Python 2 werden innerhalb eines Klassenkörpers definierte Funktionen in ungebundene Methoden umgewandelt. Sie sind immer noch Funktionen, haben aber einen impliziten ersten Parameter, nämlich die Klasse.

Gebundene Methoden

Wenn auf eine ungebundene Methode in einer Klasseninstanz zugegriffen wird, wird sie konvertiert in eine gebundene Methode. Die Klasseninstanz wird automatisch als erster Selbstparameter an die Methode übergeben.

Transformation

  • Eine Funktion kann mithilfe einer Typklasse in eine ungebundene Methode umgewandelt werden Konstruktionsaufruf oder der MethodType-Konstruktor.
  • Eine ungebundene Methode kann in eine gebundene Methode umgewandelt werden, indem auf eine Klasseninstanz darauf zugegriffen wird.
  • Eine gebundene Methode kann nicht zurück in eine ungebundene Methode oder eine umgewandelt werden Funktion.

Verwendung

  • Funktionen werden wie normale Funktionen aufgerufen: f1()
  • Ungebundene Methoden werden mit einer Instanz aufgerufen der Klasse als erstes Argument: C.f1(instance)
  • Gebundene Methoden werden auf Klasseninstanzen aufgerufen: Instanz.f1()

Beispiel

Betrachten Sie den folgenden Code:

<code class="python">def f1(self):
    pass

class C(object):
    f1 = f1</code>
Nach dem Login kopieren

Hier ist f1 eine Funktion, C.f1 ist eine ungebundene Methode und C().f1 ist eine gebundene Methode.

Python 3-Unterscheidung

Python 3 eliminiert das Konzept ungebundener Methoden. Funktionen, auf die in Klasseninstanzen zugegriffen wird, werden einfach als Originalfunktion zurückgegeben.

Das obige ist der detaillierte Inhalt vonHier sind einige fragenbasierte Titel, die zum Artikel passen: Konzentration auf den Hauptunterschied: * Funktionen, ungebundene Methoden und gebundene Methoden in Python: Was ist der Unterschied? * Python: Wie funktioniert Functio?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!