##
3.11.3 Classes and functions

`getclasstree`(classes[, unique])
  Arrange the given list of classes into a hierarchy of nested lists. Where a nested list appears, it contains classes derived from the class whose entry immediately precedes the list. Each entry is a 2-tuple containing a class and a tuple of its base classes. If the unique argument is true, exactly one entry appears in the returned structure for each class in the given list. Otherwise, classes using multiple inheritance and their descendants will appear multiple times.

`getargspec`(func)
  Get the names and default values of a function's arguments. A tuple of four things is returned: `(args, varargs, varkw, defaults)`. args is a list of the argument names (it may contain nested lists). varargs and varkw are the names of the `*` and `**` arguments or `None`. defaults is a tuple of default argument values; if this tuple has n elements, they correspond to the last n elements listed in args.

`getargvalues`(frame)
  Get information about arguments passed into a particular frame. A tuple of four things is returned: `(args, varargs, varkw, locals)`. args is a list of the argument names (it may contain nested lists). varargs and varkw are the names of the `*` and `**` arguments or `None`. locals is the locals dictionary of the given frame.

`formatargspec`(args[, varargs, varkw, defaults, argformat, varargsformat, varkwformat, defaultformat])

  Format a pretty argument spec from the four values returned by `getargspec()`. The other four arguments are the corresponding optional formatting functions that are called to turn names and values into strings.

`formatargvalues`(args[, varargs, varkw, locals, argformat, varargsformat, varkwformat, valueformat])
  Format a pretty argument spec from the four values returned by `getargvalues()`. The other four arguments are the corresponding optional formatting functions that are called to turn names and values into strings.