Enumere todos los métodos de un módulo de Python

Vaibhav Vaibhav 15 febrero 2024
  1. Enumere todos los métodos de un módulo de Python utilizando el método dir()
  2. Enumere todos los métodos de un módulo de Python utilizando el módulo inspect()
Enumere todos los métodos de un módulo de Python

Un módulo, paquete o biblioteca de Python es un archivo o grupo de archivos que contienen definiciones de funciones de Python, clases de Python y variables de Python. En Python, podemos importar un módulo y usar sus implementaciones para ceñirnos a dos conceptos importantes del mundo de la informática; “No reinventes la rueda” y “No te repitas”.

Estos paquetes o módulos pueden ser tan pequeños como unas pocas líneas y tan grandes como millones de líneas. A medida que aumenta el tamaño, se vuelve difícil analizar los módulos o ver un esquema claro del contenido del paquete. Pero los desarrolladores de Python también nos han resuelto ese problema.

En Python, hay muchas formas en las que podemos enumerar métodos y clases de un módulo de Python. En este artículo, hablaremos de dos de estas prácticas con la ayuda de ejemplos relevantes. Tenga en cuenta que, por ejemplo, consideraremos el módulo Python NumPy. Si no tiene el paquete NumPy en su sistema o entorno virtual, puede descargarlo usando el comando pip install numpy o pip3 install numpy.

Enumere todos los métodos de un módulo de Python utilizando el método dir()

El método dir() es un método incorporado en Python. Imprime todos los atributos y métodos de un objeto o un paquete de Python. Consulte el siguiente código para comprenderlo.

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

Producción :

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

Podemos usar el método dir() para listar todos los métodos del módulo. Consulte el siguiente código para ver cómo.

import numpy

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

Producción:

Funciones de lista de Python en el módulo - el método dir ()

Como podemos ver, el método dir() ha enumerado todos los métodos NumPy.

Enumere todos los métodos de un módulo de Python utilizando el módulo inspect()

El módulo inspect es un módulo de Python que tiene varias funciones útiles para obtener información útil sobre módulos, clases, objetos de clase, funciones, trazas y objetos. Podemos utilizar este módulo para nuestro simple propósito. Consulte el siguiente código para conocer su uso.

import numpy
from inspect import getmembers, isfunction

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

Producción:

Funciones de lista de Python en el módulo - el método inspect()

La función getmembers(), como su nombre indica, obtiene todos los miembros, como métodos, variables, clases, etc., presentes dentro de una clase o módulo. Como solo requerimos métodos o funciones, usamos isfunction(), una función de Python que filtra todas las funciones de los miembros. Hay otras funciones similares a continuación.

  • ismodule(): Devuelve True si el objeto es un módulo.
  • isclass(): Devuelve True si el objeto es una clase.
  • istraceback(): Devuelve True si el objeto es un traceback.
  • isgenerator(): Devuelve True si el objeto es un generador.
  • iscode(): Devuelve True si el objeto es un código.
  • isframe(): Devuelve True si el objeto es un marco.
  • isabstract(): Devuelve True si el objeto es una clase base abstracta.
  • iscoroutine(): Devuelve True si el objeto es una corrutina.

Para obtener más información sobre este módulo, consulte la documentación oficial.

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.

Artículo relacionado - Python Module