Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste aller in einer Python-Klasse definierten Methoden abrufen?

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 19:11:011058Durchsuche

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>

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>

Ausgabe:

[(('__init__', <unbound method OptionParser.__init__>),
  ('add_option', <unbound method OptionParser.add_option>),
  ...)]

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!

Stellungnahme:
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