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