8.16. new — 创建运行时内部对象 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/new
跳转至:导航、​搜索

8.16. 新的 — 创建运行时内部对象

自 2.6 版起已弃用:new 模块已在 Python 3 中删除。 改用 types 模块的类。


new 模块允许一个接口到解释器对象创建函数。 这主要用于 marshal 类型的函数,当需要“神奇地”创建新对象而不是使用常规创建函数时。 该模块为解释器提供了一个低级接口,因此在使用该模块时必须小心。 可以提供在使用对象时使解释器崩溃的无意义参数。

new 模块定义了以下函数:

new.instance(class[, dict])
此函数使用字典 dict 创建 class 的实例,而无需调用 __init__() 构造函数。 如果省略 dictNone,则会为新实例创建一个新的空字典。 请注意,不能保证对象将处于一致状态。
new.instancemethod(function, instance, class)
此函数将返回一个方法对象,绑定到 instance,或者如果 instanceNone 则未绑定。 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)
此函数是 PyCode_New() C 函数的接口。
new.module(name[, doc])
此函数返回一个名为 name 的新模块对象。 name 必须是字符串。 可选的 doc 参数可以是任何类型。
new.classobj(name, baseclasses, dict)
这个函数返回一个新的类对象,名称为 name,派生自 baseclasses(应该是一个类的元组)和命名空间 dict