> > > 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は、まだちょっと理解できてないので、どなたか・・・
機械伯爵
※言語一般の話題だと、どの会議室でやっていいのやら・・・(笑)