8.16. new — 创建运行时内部对象 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/new
8.16. 新的 — 创建运行时内部对象
new 模块允许一个接口到解释器对象创建函数。 这主要用于 marshal 类型的函数,当需要“神奇地”创建新对象而不是使用常规创建函数时。 该模块为解释器提供了一个低级接口,因此在使用该模块时必须小心。 可以提供在使用对象时使解释器崩溃的无意义参数。
new 模块定义了以下函数:
- new.instance(class[, dict])
- 此函数使用字典 dict 创建 class 的实例,而无需调用
__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)
- 此函数是 PyCode_New() C 函数的接口。
- new.module(name[, doc])
- 此函数返回一个名为 name 的新模块对象。 name 必须是字符串。 可选的 doc 参数可以是任何类型。
- new.classobj(name, baseclasses, dict)
- 这个函数返回一个新的类对象,名称为 name,派生自 baseclasses(应该是一个类的元组)和命名空间 dict。