The Wayback Machine - https://web.archive.org/web/20240627005923/https://www.geeksforgeeks.org/python-dir-function/
Open In App

dir() function in Python

Last Updated : 29 Nov, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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




# Python3 code to demonstrate dir()
# when no parameters are passed
# Note that we have not imported any modules
print(dir())
 
# Now let's import two modules
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




# Python3 code to demonstrate dir() function
# when a module Object is passed as parameter.
 
# import the random module
import random
 
# Prints list which contains names of
# attributes in random function
print("The contents of the random library are::")
 
# module Object is passed as parameter
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




# When a list object is passed as
# parameters for the dir() function
 
# A list, which contains
# a few random values
geeks = ["geeksforgeeks", "gfg", "Computer Science",
                    "Data Structures", "Algorithms" ]
 
# dir() will also list out common
# attributes of the dictionary
d = {}   # empty dictionary
 
# dir() will return all the available
# list methods in current local scope
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




# Creation of a simple class with __dir()__
# method to demonstrate it's working
class Supermarket:
 
    # Function __dir()___ which list all
    # the base attributes to be used.
    def __dir__(self):
        return['customer_name', 'product',
               'quantity', 'price', 'date']
 
 
# user-defined object of class supermarket
my_cart = Supermarket()
 
# listing out the dir() method
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.


Similar Reads

Difference between dir() and vars() in Python
As Python stores their instance variables in the form of dictionary belonging to the respective object both dir() and vars() functions are used to list the attributes of an instance/object of the Python class. Though having a similar utility these functions have significant individual use cases.dir() Function: This function displays more attributes
2 min read
Python: Difference between dir() and help()
In Python two commonly used functions for exploring objects, modules, and their attributes are dir() and help(). While both are useful for gaining insights into Python code, they serve distinct purposes. This article aims to clarify the differences between dir() and help() and guide developers on when and how to use each effectively. What is dir()
5 min read
Python - Call function from another function
Prerequisite: Functions in Python In Python, any written function can be called by another function. Note that this could be the most elegant way of breaking a problem into chunks of small problems. In this article, we will learn how can we call a defined function from another function with the help of multiple examples. What is Calling a Function
4 min read
Wand function() function in Python
function() function is similar to evaluate function. In function() function pixel channels can be manipulated by applies a multi-argument function to pixel channels. Following are the list of FUNCTION_TYPES in Wand: 'undefined''arcsin''arctan''polynomial''sinusoid' Syntax : wand.image.function(function, arguments, channel) Parameters : ParameterInp
1 min read
Returning a function from a function - Python
Functions in Python are first-class objects. First-class objects in a language are handled uniformly throughout. They may be stored in data structures, passed as arguments, or used in control structures. Properties of first-class functions: A function is an instance of the Object type.You can store the function in a variable.You can pass the functi
3 min read
Python math.sqrt() function | Find Square Root in Python
sqrt() function returns square root of any number. It is an inbuilt function in Python programming language. In this article, we will learn more about the Python Program to Find the Square Root. sqrt() Function We can calculate square root in Python using the sqrt() function from the math module. In this example, we are calculating the square root
3 min read
wxPython - GetField() function function in wx.StatusBar
In this article we are going to learn about GetField() function associated to the wx.GetField() class of wxPython. GetField() function Returns the wx.StatusBarPane representing the n-th field. Only one parameter is required, that is, field number in status bar. Syntax: wx.StatusBar.GetField(self, n) Parameters: Parameter Input Type Description n in
1 min read
How to write an empty function in Python - pass statement?
In C/C++ and Java, we can write empty function as following // An empty function in C/C++/Java void fun() { } In Python, if we write something like following in Python, it would produce compiler error. # Incorrect empty function in Python def fun(): Output : IndentationError: expected an indented block In Python, to write empty functions, we use pa
1 min read
Ways to sort list of dictionaries by values in Python - Using lambda function
In this article, we will cover how to sort a dictionary by value in Python. Sorting has always been a useful utility in day-to-day programming. Dictionary in Python is widely used in many applications ranging from competitive domain to developer domain(e.g. handling JSON data). Having the knowledge to sort dictionaries according to their values can
2 min read
Python Numbers | choice() function
choice() is an inbuilt function in Python programming language that returns a random item from a list, tuple, or string. Syntax: random.choice(sequence) Parameters: sequence is a mandatory parameter that can be a list, tuple, or string. Returns: The choice() returns a random item. Note:We have to import random to use choice() method. Below is the P
1 min read
Practice Tags :
three90RightbarBannerImg