Python Language
コードブロック、実行フレーム、および名前空間
サーチ…
前書き
コードブロックは、モジュール、クラス定義、関数本体などの単位として実行できるPythonプログラムのテキストです。いくつかのコードブロック(モジュールのような)は通常1回だけ実行され、他のもの(関数本体のようなもの)は何度も実行されます。コードブロックは、他のコードブロックをテキストで含むことができる。コードブロックは、例えば、関数を呼び出す(呼び出しする)ことによって、実行の一部として他のコードブロック(その中にテキストに含まれていてもいなくてもよい)を呼び出すことができる。
コードブロックの名前空間
コードブロックタイプ | グローバル名前空間 | ローカルネームスペース |
---|---|---|
モジュール | モジュールのns | グローバルと同じ |
スクリプト(ファイルまたはコマンド) | __main__ ためのns | グローバルと同じ |
対話型コマンド | __main__ ためのns | グローバルと同じ |
クラス定義 | ブロックを含むグローバルns | 新しい名前空間 |
機能体 | ブロックを含むグローバルns | 新しい名前空間 |
exec 文に渡される文字列 | ブロックを含むグローバルns | ブロックを含むローカルの名前空間 |
eval() 渡される文字列 | 呼び出し側のグローバルns | 発信者のローカルns |
execfile() によって読み込まれるファイル | 呼び出し側のグローバルns | 発信者のローカルns |
input() によって読み取られる式 | 呼び出し側のグローバルns | 発信者のローカルns |
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow