メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2008年3月5日水曜日

[Python][お勉強] 「Pythonチュートリアル」を読む(15) -- Pythonにおけるスコープと名前空間

今日もPythonお勉強。

9章突入。

スコープと名前空間あたりから。

名前空間
名前空間とは、名前とオブジェクトのマッピングのこと。
ディクショナリで実装されているが将来変更される可能性があるとのこと。



名前空間の作成タイミング

1) ビルトイン名の入った名前空間
Pythonインタプリタ起動時に作成される。

2) モジュールのグローバル名前空間
モジュール定義の読込時に作られる。

3) 関数のローカル名前空間
関数がコールされたときに作られる。
関数から戻るか、例外が発生したときに削除される。
再帰呼び出しでも、毎回ローカル名前空間が作成される。



スコープ
スコープとは、ある名前空間から直接アクセスできる、プログラム上の範囲のこと。
スコープは「静的」に決定されるが、利用は動的に行われる。

グローバル宣言している変数以外で、最内のスコープより外側にあるものは
すべて「読取専用」。


利用について、現状動的ではあるものの、
利用についても静的の方向に進んでいるとのこと。
現にローカル変数については、「利用」についても静的。
※静的:コンパイル時に決定



おしまい
.

0 コメント: