Lister toutes les méthodes d'un module Python

Vaibhav Vaibhav 30 janvier 2023
  1. Lister toutes les méthodes d’un module Python à l’aide de la méthode dir()
  2. Lister toutes les méthodes d’un module Python à l’aide du module inspect()
Lister toutes les méthodes d'un module Python

Un module, un package ou une bibliothèque Python est un fichier ou un groupe de fichiers contenant des définitions de fonctions Python, de classes Python et de variables Python. En Python, nous pouvons importer un module et utiliser ses implémentations pour coller à deux concepts importants du monde de l’informatique ; Ne réinventez pas la roue et Ne vous répétez pas.

Ces packages ou modules peuvent être aussi petits que quelques lignes et aussi gros que des millions de lignes. À mesure que la taille augmente, il devient difficile d’analyser les modules ou de voir un aperçu clair du contenu du package. Mais les développeurs Python ont également résolu ce problème pour nous.

En Python, il existe de nombreuses façons de répertorier les méthodes et les classes d’un module Python. Dans cet article, nous allons parler de deux de ces pratiques à l’aide d’exemples pertinents. Notez que, par exemple, nous considérerons le module Python NumPy. Si vous n’avez pas le package NumPy sur votre système ou environnement virtuel, vous pouvez le télécharger en utilisant soit la commande pip install numpy soit la commande pip3 install numpy.

Lister toutes les méthodes d’un module Python à l’aide de la méthode dir()

La méthode dir() est une méthode intégrée à Python. Il imprime tous les attributs et méthodes d’un objet ou d’un package Python. Vérifiez le code suivant pour le comprendre.

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))

Production :

['__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']

Nous pouvons utiliser la méthode dir() pour lister toutes les méthodes du module. Référez-vous au code suivant pour voir comment.

import numpy

print("NumPy Module")
print(dir(numpy))

Production :

fonctions de liste python dans le module - la méthode dir ()

Comme on peut le voir, la méthode dir() a listé toutes les méthodes NumPy.

Lister toutes les méthodes d’un module Python à l’aide du module inspect()

Le module inspect est un module Python qui possède plusieurs fonctions utiles pour obtenir des informations utiles sur les modules, les classes, les objets de classe, les fonctions, les traces et les objets. Nous pouvons utiliser ce module pour notre simple objectif. Reportez-vous au code suivant pour en savoir plus sur son utilisation.

import numpy
from inspect import getmembers, isfunction

print("NumPy Module")
print(getmembers(numpy, isfunction))

Production :

fonctions de liste python dans le module - la méthode inspect()

La fonction getmembers(), comme son nom l’indique, récupère tous les membres, tels que les méthodes, les variables, les classes, etc., présents à l’intérieur d’une classe ou d’un module. Comme nous n’avons besoin que de méthodes ou de fonctions, nous avons utilisé isfunction(), une fonction Python qui filtre toutes les fonctions des membres. Il existe d’autres fonctions de ce type, comme ci-dessous.

  • ismodule() : Renvoie True si l’objet est un module.
  • isclass() : Renvoie True si l’objet est une classe.
  • istraceback() : Renvoie True si l’objet est un traceback.
  • isgenerator() : Renvoie True si l’objet est un générateur.
  • iscode() : Renvoie True si l’objet est un code.
  • isframe() : Renvoie True si l’objet est un cadre.
  • isabstract() : Renvoie True si l’objet est une classe de base abstraite.
  • iscoroutine() : Renvoie True si l’objet est une coroutine.

Pour en savoir plus sur ce module, reportez-vous à la documentation officielle.

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.

Article connexe - Python Module