モジュールのインポート

他のモジュール(.py)を参照して使うにはインポートが必要。インポートの記述色々。

import importable
import importable1, importable2, ..., importableN
import importable as preferred_name
from importable import object as preferred_name
from importable import object1, object2, ..., objectN
from importable import (object1, object2, 
    object3, ..., objectN)
from importable import *

as を使うことで別名を指定できる。from を使うことでモジュール名の修飾なしで参照できる。* は「非公開でないもの全て」を意味する。モジュールに __all__ というグローバル変数があれば、そのリストに含まれているオブジェクトをインポート。なければ、名前の先頭が _ になっているものを除くオブジェクトをインポート。

>>> import os.path as path
>>> path.basename("C:\dvds-sql.py")

>>> from os.path import basename
>>> basename("C:\dvds-sql.py")

インポートの記述位置は、

  • .pyファイルの冒頭
  • shebang行(#!の行)より後
  • モジュールのドキュメントの後


インポートの標準的な順序は、

  1. 標準ライブラリモジュール
  2. サードパーティライブラリモジュール
  3. 独自モジュール


モジュールが存在するかは、実際にインポートすれば確認できる。存在しなければ、ImportError 例外が起きる。モジュールを検索するパスは、sys.path に格納されている。

>>> import sys
>>> sys.path
['C:\\Python32\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python32.zip', 'C:\\Python32\\DLLs', 'C:\\Python32\\lib', 'C:\\Python32', 'C:\\Python32\\lib\\site-packages']

参考:Python 3 プログラミング徹底入門