8.16. "new" — Creation of runtime internal objects
**************************************************

Obsoleto desde a versão 2.6: The "new" module has been removed in
Python 3.  Use the "types" module’s classes instead.

The "new" module allows an interface to the interpreter object
creation functions. This is for use primarily in marshal-type
functions, when a new object needs to be created “magically” and not
by using the regular creation functions. This module provides a low-
level interface to the interpreter, so care must be exercised when
using this module. It is possible to supply non-sensical arguments
which crash the interpreter when the object is used.

The "new" module defines the following functions:

new.instance(class[, dict])

   This function creates an instance of *class* with dictionary *dict*
   without calling the "__init__()" constructor.  If *dict* is omitted
   or "None", a new, empty dictionary is created for the new instance.
   Note that there are no guarantees that the object will be in a
   consistent state.

new.instancemethod(function, instance, class)

   This function will return a method object, bound to *instance*, or
   unbound if *instance* is "None".  *function* must be callable.

new.function(code, globals[, name[, argdefs[, closure]]])

   Returns a (Python) function with the given code and globals. If
   *name* is given, it must be a string or "None".  If it is a string,
   the function will have the given name, otherwise the function name
   will be taken from "code.co_name".  If *argdefs* is given, it must
   be a tuple and will be used to determine the default values of
   parameters.  If *closure* is given, it must be "None" or a tuple of
   cell objects containing objects to bind to the names in
   "code.co_freevars".

new.code(argcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab)

   This function is an interface to the "PyCode_New()" C function.

new.module(name[, doc])

   This function returns a new module object with name *name*. *name*
   must be a string. The optional *doc* argument can have any type.

new.classobj(name, baseclasses, dict)

   This function returns a new class object, with name *name*, derived
   from *baseclasses* (which should be a tuple of classes) and with
   namespace *dict*.
