#
6.3 The `dir()` Function

The built-in function `dir()` is used to find out which names a module defines. It returns a sorted list of strings:

      >>> import fibo, sys
      >>> dir(fibo)
      ['__name__', 'fib', 'fib2']
      >>> dir(sys)
      ['__name__', 'argv', 'builtin_module_names', 'copyright', 'exit',
      'maxint', 'modules', 'path', 'ps1', 'ps2', 'setprofile', 'settrace',
      'stderr', 'stdin', 'stdout', 'version']

Without arguments, `dir()` lists the names you have defined currently:

      >>> a = [1, 2, 3, 4, 5]
      >>> import fibo, sys
      >>> fib = fibo.fib
      >>> dir()
      ['__name__', 'a', 'fib', 'fibo', 'sys']

Note that it lists all types of names: variables, modules, functions, etc.

`dir()` does not list the names of built-in functions and variables. If you want a list of those, they are defined in the standard module `__builtin__`:

      >>> import __builtin__
      >>> dir(__builtin__)
      ['AccessError', 'AttributeError', 'ConflictError', 'EOFError', 'IOError',
      'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt',
      'MemoryError', 'NameError', 'None', 'OverflowError', 'RuntimeError',
      'SyntaxError', 'SystemError', 'SystemExit', 'TypeError', 'ValueError',
      'ZeroDivisionError', '__name__', 'abs', 'apply', 'chr', 'cmp', 'coerce',
      'compile', 'dir', 'divmod', 'eval', 'execfile', 'filter', 'float',
      'getattr', 'hasattr', 'hash', 'hex', 'id', 'input', 'int', 'len', 'long',
      'map', 'max', 'min', 'oct', 'open', 'ord', 'pow', 'range', 'raw_input',
      'reduce', 'reload', 'repr', 'round', 'setattr', 'str', 'type', 'xrange']