newモジュールはインタプリタオブジェクト作成関数へのインターフェイスを与えます。新しいオブジェクトを``魔法を使ったように''作り出す必要がある、通常の作成関数が使えないときに、これは主にマーシャル型関数で使われます。このモジュールはインタプリタへの低レベルインターフェイスを提供します。したがって、このモジュールを使うときには注意しなければなりません。 オブジェクトが利用される時にインタプリタをクラッシュさせるような引数を 与えることもできてしまいます。
newモジュールは次の関数を定義しています:
class[, dict]) |
None
である場合は、新しいインスタンスのために新しい空の辞書が作られます。オブジェクトがいつもと同じ状態であるという保証はないことに注意してください。
function, instance, class) |
None
の場合に束縛されていないメソッドオブジェクトを返します。functionは呼び出し可能でなければなりません。
code, globals[, name[, argdefs[, closure]]]) |
None
でなければならない。文字列の場合は、関数は与えられた名前をもつ。そうでなければ、関数名はcode.co_name
から取られる。argdefsを与える場合はタプルでなければならず、パラメータのデフォルト値を決めるために使われます。
closure を与える場合はNone
または名前をcode.co_freevars
に束縛するセルオブジェクトのタプルである必要があります。
)が与えられていると、
argcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab) |
name[, doc]) |
name, baseclasses, dict) |