Heim > Backend-Entwicklung > Python-Tutorial > Wie rufe ich eine Liste von Methoden in einer Python-Klasse ab?

Wie rufe ich eine Liste von Methoden in einer Python-Klasse ab?

Mary-Kate Olsen
Freigeben: 2024-11-02 20:22:30
Original
427 Leute haben es durchsucht

How to Retrieve a List of Methods in a Python Class?

Abrufen einer Liste von Methoden in einer Python-Klasse

Übersicht

Das Abrufen einer Liste von Methoden in einer Python-Klasse ermöglicht eine flexible Objektmanipulation basierend auf Verfügbare Methoden.

Lösung

Um eine Liste der Methoden in einer Klasse zu erhalten, verwenden Sie die Überprüfen Sie die getmembers-Funktion des Moduls:

<code class="python">import inspect

methods_list = inspect.getmembers(Class, predicate=inspect.ismethod)</code>
Nach dem Login kopieren

wobei Class die Zielklasse darstellt.

Python 2 vs. Python 3

Beachten Sie, dass getmembers je nach Python-Version unterschiedliche Ergebnisse zurückgibt :

Python 2: Gibt eine Liste von Tupeln zurück: [(method_name, unbound_method_object), ...]

Python 3: Gibt eine Liste von Methodenobjekten zurück: [unbound_method_object, ...]

Parameter

Die getmembers-Funktion kann Folgendes annehmen Parameter:

  • Prädikat: Eine Funktion zum Filtern der zurückgegebenen Mitglieder. Nur Mitglieder, die das Prädikat bestehen, werden in das Ergebnis einbezogen.
  • Instanz: Eine Instanz der zu überprüfenden Klasse. Wenn nicht angegeben, werden Klassenmethoden überprüft.

Beispiel

So listen Sie die Methoden der OptionParser-Klasse von optparse auf:

<code class="python">from optparse import OptionParser
import inspect

print(inspect.getmembers(OptionParser, predicate=inspect.ismethod))</code>
Nach dem Login kopieren

Ausgabe:

[('__init__', <unbound method OptionParser.__init__>),
 ('add_option', <unbound method OptionParser.add_option>),
 ('add_option_group', <unbound method OptionParser.add_option_group>),
 ...]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich eine Liste von Methoden in einer Python-Klasse ab?. 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