Документация Python неофициальный перевод

new.md

38 строк · 4.6 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/new.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 8.16. [`new`](https://python-all.ru/2.7/library/new.html#module-new) – Создание внутренних объектов времени выполнения89Устарело с версии 2.6: Модуль [`new`](https://python-all.ru/2.7/library/new.html#module-new) удалён в Python 3. Вместо него используйте классы модуля [`types`](https://python-all.ru/2.7/library/types.html#module-types) .1011Модуль [`new`](https://python-all.ru/2.7/library/new.html#module-new) предоставляет интерфейс к функциям создания объектов интерпретатора. В основном он используется в функциях типа marshal, когда новый объект нужно создать «магически», а не через обычные функции создания. Этот модуль предоставляет низкоуровневый интерфейс к интерпретатору, поэтому при его использовании следует соблюдать осторожность. Можно передать бессмысленные аргументы, которые приведут к краху интерпретатора при использовании объекта.1213Модуль [`new`](https://python-all.ru/2.7/library/new.html#module-new) определяет следующие функции:1415#### `new.instance(class[, dict])`1617Эта функция создаёт экземпляр *class* со словарём *dict* без вызова конструктора [`__init__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__init__). Если *dict* опущен или равен `None`, для нового экземпляра создаётся новый пустой словарь. Обратите внимание, что нет никаких гарантий, что объект будет находиться в согласованном состоянии.1819#### `new.instancemethod(function, instance, class)`2021Эта функция возвращает объект метода, привязанный к *instance*, или непривязанный, если *instance* равен `None`. *function* должен быть вызываемым.2223#### `new.function(code, globals[, name[, argdefs[, closure]]])`2425Возвращает функцию Python с заданными кодом и глобальными переменными. Если указан *name*, это должна быть строка или `None`. Если это строка, функция получит указанное имя, в противном случае имя функции будет взято из `code.co_name`. Если задан *argdefs*, это должен быть кортеж, и он будет использоваться для определения значений параметров по умолчанию. Если задан *closure*, это должен быть `None` или кортеж объектов ячеек, содержащих объекты для привязки к именам из `code.co_freevars`.2627#### `new.code(argcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab)`2829Эта функция является интерфейсом к C-функции [`PyCode_New()`](https://python-all.ru/2.7/c-api/code.html#c.PyCode_New).3031#### `new.module(name[, doc])`3233Эта функция возвращает новый объект модуля с именем *name*. *name* должен быть строкой. Необязательный аргумент *doc* может иметь любой тип.3435#### `new.classobj(name, baseclasses, dict)`3637Эта функция возвращает новый объект класса с именем *name*, производный от *baseclasses* (который должен быть кортежем классов) и с пространством имён *dict*.38