作者: 機械伯爵
日時: 2002/4/7(01:22)
> > >  x.py と lib/x.py というファイルを読み込むとひとつの
> > > 名前空間になるか2つの名前空間になるかどちらでしょうか?

 カレントディレクトリにx.py、モジュール検索パスのどっか(たとえば
python/lib)に同じくx.pyがあった場合、

 import x

 で作られる名前空間xには、カレントディレクトリのx.pyモジュールの
名前がロードされます。

 ちなみに、libがパッケージだとしても、

 import lib

 では、lib/x.pyの名前はロードされないようです。

※import lib.x と書く必要があります。

> あと、モジュールやクラス以外の名前空間というのは何を意味するのでしょう?

 Pythonでは存在しませんが、C++などでは1ファイルに複数の名前空間を定義でき
ますので、名前空間単位で関数をまとめるような用途が考えられます。

※1ファイル1モジュールは、簡単だけど、ファイルが多くなる恐れがあるので、
 1ファイル多数モジュールで、あるファイルの1モジュールだけロードできる
 機能があれば、それは便利だと思います。
 RubyのMix-inは、まだちょっと理解できてないので、どなたか・・・

   機械伯爵

※言語一般の話題だと、どの会議室でやっていいのやら・・・(笑)