すらいむがあらわれた

こまんど >  たたかう  にげる

Pythonのモジュールインポートの仕組み

pythonでモジュールをインポートするときの書き方として

import System
from System import *

と2種類の書き方がある。
どう違うかは以下のページが分かりやすかった。

Pythonのモジュールインポートのしくみ Python Matrix JP
http://python.matrix.jp/tips/import.html

from A import B

といった記述を見たりするでしょう。

Aにはパッケージやモジュール名を指定し、Bには取り込みたいパッケージやモジュール名またはクラスや関数名、変数名なども指定できます。

この記述により、取り込みたいオブジェクトの親を明示することが出来ます。

ただし、from側にクラスや関数名、変数名を指定する事は出来ません。

import A.B

でも親を明示した取り込みが出来ますが、Bにアクセスするのに「A.B」と毎度記述しなければなりません。

fromを使った方法なら、「B」という記述でアクセスできます。

なので、pythonC#のようにコードを記述したい場合は
from System.Text import *
を使うほうが感覚的には近い。

むしろ
import System.Text
だと
毎回
System.Text.Encoding.UTF8;
みたいに名前空間から全部記述しなくてはならず違和感がする。
from System.Text import *
だと
Encoding.UTF8
って書ける。

もっとも import * ってしてしまうことには弊害もあるのでそこは理解した上で記述すること。