Spec-Zone.ru › Python 2.7

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API