Alle Methoden eines Python-Moduls auflisten
-
Listen Sie alle Methoden eines Python-Moduls mit der Methode
dir()
auf -
Listen Sie alle Methoden eines Python-Moduls mit dem Modul
inspect()
auf
Ein Python-Modul, -Paket oder -Bibliothek ist eine Datei oder Gruppe von Dateien, die Definitionen von Python-Funktionen, Python-Klassen und Python-Variablen enthält. In Python können wir ein Modul importieren und seine Implementierungen verwenden, um bei zwei wichtigen Konzepten der Welt der Informatik zu bleiben; Erfinde das Rad nicht neu
und Wiederhole dich nicht
.
Diese Pakete oder Module können nur wenige Zeilen oder mehrere Millionen Zeilen umfassen. Mit zunehmender Größe wird es schwierig, Module zu analysieren oder einen klaren Überblick über den Inhalt des Pakets zu erhalten. Aber auch dieses Problem haben Python-Entwickler für uns gelöst.
In Python gibt es viele Möglichkeiten, Methoden und Klassen eines Python-Moduls aufzulisten. In diesem Artikel werden wir anhand von relevanten Beispielen über zwei solcher Praktiken sprechen. Beachten Sie, dass wir zum Beispiel das Python-Modul NumPy
betrachten. Wenn Sie das Paket NumPy
nicht auf Ihrem System oder Ihrer virtuellen Umgebung haben, können Sie es entweder mit dem Befehl pip install numpy
oder dem Befehl pip3 install numpy
herunterladen.
Listen Sie alle Methoden eines Python-Moduls mit der Methode dir()
auf
Die Methode dir()
ist eine in Python integrierte Methode. Es gibt alle Attribute und Methoden eines Objekts oder eines Python-Pakets aus. Überprüfen Sie den folgenden Code, um ihn zu verstehen.
class A:
a = 10
b = 20
c = 200
def __init__(self, x):
self.x = x
def get_current_x(self):
return self.x
def set_x(self, x):
self.x = x
def __repr__(self):
return f"X: {x}"
print(dir(int))
print(dir(float))
print(dir(A))
Ausgabe:
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
['__abs__', '__add__', '__bool__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getformat__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__int__', '__le__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__pos__', '__pow__', '__radd__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__round__', '__rpow__', '__rsub__', '__rtruediv__', '__set_format__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', 'as_integer_ratio', 'conjugate', 'fromhex', 'hex', 'imag', 'is_integer', 'real']
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'b', 'c', 'get_current_x', 'set_x']
Wir können die Methode dir()
verwenden, um alle Modulmethoden aufzulisten. Sehen Sie sich den folgenden Code an, um zu sehen, wie.
import numpy
print("NumPy Module")
print(dir(numpy))
Ausgabe:
Wie wir sehen, hat die Methode dir()
alle NumPy
-Methoden aufgelistet.
Listen Sie alle Methoden eines Python-Moduls mit dem Modul inspect()
auf
Das Modul inspect
ist ein Python-Modul mit mehreren hilfreichen Funktionen, um nützliche Informationen über Module, Klassen, Klassenobjekte, Funktionen, Tracebacks und Objekte zu erhalten. Wir können dieses Modul für unseren einfachen Zweck verwenden. Lesen Sie den folgenden Code, um mehr über seine Verwendung zu erfahren.
import numpy
from inspect import getmembers, isfunction
print("NumPy Module")
print(getmembers(numpy, isfunction))
Ausgabe:
Die Funktion getmembers()
holt, wie der Name schon sagt, alle Member, wie Methoden, Variablen, Klassen usw., die innerhalb einer Klasse oder eines Moduls vorhanden sind. Da wir nur Methoden oder Funktionen benötigen, haben wir die isfunction()
verwendet, eine Python-Funktion, die alle Funktionen aus den Membern herausfiltert. Es gibt auch andere solche Funktionen wie unten.
ismodule()
: Gibt True zurück, wenn das Objekt ein Modul ist.isclass()
: Gibt True zurück, wenn das Objekt eine Klasse ist.istraceback()
: Gibt True zurück, wenn das Objekt ein Traceback ist.isgenerator()
: Gibt True zurück, wenn das Objekt ein Generator ist.iscode()
: Gibt True zurück, wenn das Objekt ein Code ist.isframe()
: Gibt True zurück, wenn das Objekt ein Frame ist.isabstract()
: Gibt True zurück, wenn das Objekt eine abstrakte Basisklasse ist.iscoroutine()
: Gibt True zurück, wenn das Objekt eine Coroutine ist.
Weitere Informationen zu diesem Modul finden Sie in der offiziellen Dokumentation.