Función incorporada dir() de Python
De la documentación de Python 3
Sin argumentos, devuelve la lista de nombres en el ámbito local actual. Con un argumento, intenta devolver una lista de atributos válidos para ese objeto.
Introducción
La función dir() en Python es una potente función incorporada que devuelve una lista de nombres en el espacio de nombres actual o los atributos de un objeto dado. Se utiliza comúnmente para introspeccionar y explorar objetos, módulos y clases, ayudándote a descubrir los métodos, atributos y nombres disponibles con los que puedes trabajar.
Sintaxis
dir([object])
object(opcional): El objeto cuyos atributos deseas explorar. Si no se proporciona, devuelve los nombres en el espacio de nombres actual.
Explorando Nombres en el Espacio de Nombres Actual
a = 10
b = "Hello"
def my_function():
pass
print(dir())
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b', 'my_function']
Explorando Atributos de Módulos
import math
print(dir(math))
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', '...']
Explorando Atributos de Objetos
class MyClass:
def __init__(self):
self.x = 5
self.y = "Hello"
obj = MyClass()
print(dir(obj))
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', ... 'x', 'y']
Uso de dir() con Tipos Incorporados
my_list = [1, 2, 3]
print(dir(my_list))
[..., 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Filtrado de la Salida de dir()
import math
print([name for name in dir(math) if not name.startswith("__")])
['acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', ... ]