Wie kann ich eine Liste aller in einer Python-Klasse definierten Methoden abrufen?

Mary-Kate Olsen
Freigeben: 2024-10-27 19:11:01
Original
945 Leute haben es durchsucht

How can I retrieve a list of all methods defined in a Python class?

Erhalten von Klassenmethoden in Python

Python-Klassen bieten verschiedene Methoden für den Zugriff auf ihre Funktionalität. Um eine Liste aller in einer Klasse definierten Methoden zu erhalten, können Sie die Funktion inspect.getmembers() verwenden.

Verwendung:

<code class="python">from inspect import getmembers

# Get class methods
class_methods = getmembers(class_object, predicate=inspect.ismethod)</code>
Nach dem Login kopieren

Parameter:

  • class_object: Die Klasse, für die Sie Methoden abrufen möchten.
  • Prädikat : Eine Filterfunktion, die angibt, welche Mitglieder eingeschlossen werden sollen. Standardmäßig sind nur Methoden enthalten.

Rückgabewert:

  • Eine Liste von Tupeln, wobei jedes Tupel ein Klassenmitglied darstellt. Das erste Element ist der Name des Mitglieds und das zweite Element ist der Wert des Mitglieds (normalerweise eine ungebundene Methode).

Beispiel:

Um die Methoden aufzulisten Definiert in der Klasse optparse.OptionParser, verwenden Sie den folgenden Code:

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

class_methods = inspect.getmembers(OptionParser, predicate=inspect.ismethod)

print(class_methods)</code>
Nach dem Login kopieren

Ausgabe:

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

Hinweis:

  • getmembers() kann auch zum Abrufen von Attributen und anderen Klassenmitgliedern verwendet werden.
  • Durch die Übergabe einer Instanz einer Klasse an getmembers() anstelle der Klasse selbst können Sie auf die Methoden und der Klasse zugreifen Attribute, die an die spezifische Instanz gebunden sind.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste aller in einer Python-Klasse definierten Methoden abrufen?. 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!