In Python, the dir()
function is a built-in function used to list the attributes (methods, properties, and other members) of an object. In this article we will see about dir() function in Python.
Python dir() Function Syntax
Syntax: dir({object})
Parameters :
object [optional] : Takes object name
Returns :
dir() tries to return a valid list of attributes of the object it is called upon. Also, dir() function behaves rather differently with different type of objects, as it aims to produce the most relevant one, rather than the complete information.
- For Class Objects, it returns a list of names of all the valid attributes and base attributes as well.
- For Modules/Library objects, it tries to return a list of names of all the attributes, contained in that module.
- If no parameters are passed it returns a list of names in the current local scope.
What is dir() in Python?
dir() is a powerful inbuilt function in Python3, which returns a list of the attributes and methods of any object (say functions, modules, strings, lists, dictionaries, etc.)
Python dir() function Examples
When No Parameters are Passed
In this example, we are using the dir()
function to list object attributes and methods in Python. It provides a demonstration for exploring the available functions and objects in our Python environment and modules when we are working with them.
Python3
print ( dir ())
import random
import math
print ( dir ())
|
Output
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '...
When a Module Object is Passed
In this example, we are using the dir()
function when a module object is passed as a parameter to list object attributes and methods in Python. This provides a demonstration for exploring the available functions and objects within a Python module when we are working with it.
Python3
import random
print ( "The contents of the random library are::" )
print ( dir (random))
|
Output
The contents of the random library are::
[‘BPF’, ‘LOG4’, ‘NV_MAGICCONST’, ‘RECIP_BPF’, ‘Random’, ‘SG_MAGICCONST’, ‘SystemRandom’, ‘TWOPI’, ‘_BuiltinMethodType’, ‘_MethodType’, ‘_Sequence’, ‘_Set’, ‘__…
When a List Object is Passed as Parameter
In this example, we are using the dir()
function when a list object and an empty dictionary are passed as parameters to list object attributes and methods in Python. This demonstrates how to explore the available functions and objects within both a list and an empty dictionary in Python.
Python3
geeks = [ "geeksforgeeks" , "gfg" , "Computer Science" ,
"Data Structures" , "Algorithms" ]
d = {}
print ( dir (geeks))
print ( dir (d))
|
Output
[‘__add__’, ‘__class__’, ‘__contains__’, ‘__delattr__’, ‘__delitem__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__getattribute__’, ‘__getitem__’, ‘__gt__’, ‘__hash__’, ‘__iadd__’, ‘__i…
When User Defined Objects are Passed as Parameters
In this example, we are using the dir()
function when user-defined objects are passed as parameters to list object attributes and methods in Python. This demonstrates how to explore the available functions and objects within custom objects created by the user in Python.
Python3
class Supermarket:
def __dir__( self ):
return [ 'customer_name' , 'product' ,
'quantity' , 'price' , 'date' ]
my_cart = Supermarket()
print ( dir (my_cart))
|
Output
['customer_name', 'date', 'price', 'product', 'quantity']
Applications of Python dir()
- The dir() has it’s own set of uses. It is usually used for debugging purposes in simple day to day programs, and even in large projects taken up by a team of developers. The capability of dir() to list out all the attributes of the parameter passed, is really useful when handling a lot of classes and functions, separately.
- The dir() function can also list out all the available attributes for a module/list/dictionary. So, it also gives us information on the operations we can perform with the available list or module, which can be very useful when having little to no information about the module. It also helps to know new modules faster.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
29 Nov, 2023
Like Article
Save Article