Skip to content

Latest commit

 

History

History
55 lines (33 loc) · 2.15 KB

new.rst

File metadata and controls

55 lines (33 loc) · 2.15 KB

new --- Creation of runtime internal objects

new

Moshe Zadka <moshez@zadka.site.co.il>

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:

instancemethod(function, instance)

This function will return a method object, bound to instance. function must be callable.

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.

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

This function is an interface to the PyCode_New C function.

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.

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. Alias for the built-in type.