new — Создание внутренних объектов во время выполнения
Устаревшее начиная с версии 2.6: Модуль new был удалён в Python 3. Используйте классы модуля types вместо него.
Модуль new предоставляет интерфейс к функциям интерпретатора для создания объектов. Он предназначен в основном для функций типа marshal, когда новый объект нужно создать «волшебным» образом, а не используя стандартные функции создания. Этот модуль предоставляет низкоуровневый интерфейс к интерпретатору, поэтому при работе с ним следует проявлять осторожность. Возможно передать неверные аргументы, что приведёт к аварийному завершению работы интерпретатора при использовании объекта.
Модуль new определяет следующие функции:
-
new.instance(class[, dict]) -
Эта функция создаёт экземпляр класса class со словарем dict без вызова конструктора
__init__(). Если dict опущен илиNone, для нового экземпляра создаётся новый пустой словарь. Обратите внимание, что нет гарантии, что объект будет в согласованном состоянии.
-
new.instancemethod(function, instance, class) -
Эта функция вернёт объект метода, связанный с instance, или несвязанный, если instance —
None. function должна быть вызываемой.
-
new.function(code, globals[, name[, argdefs[, closure]]]) -
Возвращает функцию (Python) с заданным кодом и глобальными переменными. Если задано name, оно должно быть строкой или
None. Если это строка, функция получит заданное имя, в противном случае имя функции будет взято изcode.co_name. Если задано argdefs, оно должно быть кортежем и будет использовано для определения значения по умолчанию для параметров. Если задано closure, оно должно бытьNoneили кортежем из объектов ячеек, содержащих объекты для привязки к именам вcode.co_freevars.
-
new.code(argcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab) -
Эта функция — интерфейс к функции C
PyCode_New().
-
new.module(name[, doc]) -
Эта функция возвращает новый объект модуля с именем name. name должно быть строкой. Необязательный аргумент doc может иметь любой тип.
-
new.classobj(name, baseclasses, dict) -
Эта функция возвращает новый объект класса с именем name, производный от baseclasses (должен быть кортежем классов) и с пространством имён dict.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/new.html