Alle Methoden eines Python-Moduls auflisten

Vaibhav Vaibhav 22 Januar 2022
  1. Listen Sie alle Methoden eines Python-Moduls mit der Methode dir() auf
  2. Listen Sie alle Methoden eines Python-Moduls mit dem Modul inspect() auf
Alle Methoden eines Python-Moduls auflisten

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:

Python-Listenfunktionen im Modul - die dir()-Methode

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:

Python-Listenfunktionen im Modul - die Methode inspect()

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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Module