The dir()
function in Python returns a list of all attributes and methods of an object, including special methods (dunder methods like __init__
, __len__
, etc.).
This is especially useful for exploration and debugging, helping you quickly discover what operations are available for a given object.
Example:
x = [1, 2, 3]
# Use dir() to explore the list object
print(dir(x))
Output:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Here, dir(x)
lists all the attributes and methods available for the x
list object.
Best Practices for Using dir()
- Use it for exploration when learning new objects, libraries, or APIs.
- For documentation, combine it with
help()
to understand what each method does. - Avoid using it in production code for logic decisions, it's meant for introspection, not program flow.
👉 Next tutorial: Python dict Attribute