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.
Code # 1: with and without importing external libraries.
|
Exit:
[’__builtins__’,’ __cached__’, ’__doc__’,’ __file__’, ’__loader__’,’ __name__’, ’__package__’,’ __spec__’] [ ’__builti ns__’, ’__cached__’,’ __doc__’, ’__file__’,’ __loader__’, ’__name__’,’ __package__’, ’__spec__’,’ math’, ’random’]
Code # 2:
|
Output:
The contents of random library are :: [’BPF’,’ LOG4’, ’NV_MAGICCONST’,’ RECIP_BPF’, ’Random’,’ SG_MAGICCONST’, ’SystemRandom’, ’TWOPI’,’ _BuiltinMethodType’, ’_MethodType’,’ _Sequence’, ’_Set’,’ __all__’, ’__builtins__’,’ __cached__’, ’__doc__’,’ __file__’, ’__loader__’,’ __name__age__age ’,’ __spec__’, ’_acos’,’ _ceil’, ’_cos’,’ _e’, ’_exp’,’ _inst’, ’_log’,’ _pi’, ’_random’,’ _sha512’, ’_sin’, ’_sqrt’,’ _test’, ’_test_generator’,’ _urandom’, ’_warn’,’ betavariate’, ’choice’,’ expovariate’, ’gammavariate’,’ gauss’, ’getrandbits’,’ getstate’, ’lognormvariate ’,’ normalvariate’, ’paretovariate’,’ randint’, ’random’,’ randrange’, ’samp le’, ’seed’,’ setstate’, ’shuffle’,’ triangular’, ’uniform’,’ vonmisesvariate’, ’weibullvariate’]
Code # 3: Object passed as parameters.
|
Output:
[’__add__’,’ __class__’, ’__contains__’,’ __delattr__’, ’__delitem__’,’ __dir__’, ’__doc__’,’ __eq__’, ’__format__’,’ __ge__’, ’__getattribute__’,’ __getitem__’, ’__gt__’,’ __hash__’, ’__iadd__’,’ __imul__’, ’__init__’,’ __iter__’, ’__le__’,’ __len__’, ’__lt__’,’ __mul__’, ’__lt__’ ’,’ __new__’, ’__reduce__’,’ __reduce_ex__’, ’__repr__’,’ __reversed__’, ’__rmul__’,’ __setattr__’, ’__setitem__’,’ __sizeof__’, ’__’str__’,’ __subclassho, ’__subclassho ’clear’,’ copy’, ’count’,’ extend’, ’index’,’ insert’, ’pop’,’ remove’, ’reverse’,’ sort’] [’__class__’,’ __contains__’, ’ __delattr__’, ’__delitem__’,’ __dir__’, ’__doc__’,’ __eq__’, ’__format__’, ’__ge__’,’ __getattribute__’, ’__getitem__’,’ __gt__’, ’__hash__’,’ __init__’, ’__iter__’,’ __le__’, ’__len__’,’ __lt__’, ’__ne__’,’ __new__’, ’__reduce ’,’ __reduce_ex__’, ’__repr__’,’ __setattr__’, ’__setitem__’,’ __sizeof__’, ’__str__’,’ __subclasshook__’, ’clear’,’ copy’, ’fromkeys’,’ get’, ’items’, ’keys’,’ pop’, ’popitem’,’ setdefault’, ’update’,’ values’]
Code # 4: User defined — A class object with an available __dir () __ method is passed as a parameter.
|
Output:
[’customer_name’ , ’date’,’ price’, ’product’,’ quantity’]
Applications:
- Dir () has its own set of uses. It is typically used for debugging in simple day-to-day programs and even in large projects run by a development team. The dir () ability to list all the attributes of a passed parameter is really useful when handling a large number of classes and functions separately.
- The dir () function can also list all the available attributes for a module / list / dictionary. Thus, it also gives us information about the operations we can perform on an available list or module, which can be very useful when there is little information about the module. It also helps you learn new modules faster.