LoginSignup
16
14

More than 5 years have passed since last update.

Pythonモジュールのインポート

Posted at

目的

いくつかのモジュールからなるパッケージを作成した場合、インポート時にフォルダ名(パッケージ名)、ファイル名(モジュール名)、インポートする関数やクラス名を書く必要があり import 文が長くなる。これらを短くしたい。もしくは、モジュールを跨いでデフォルト設定でインポートしたい。

Python におけるインポートの仕様

ここ によると、

import されたモジュール名は import を行っているモジュールのグローバルなシンボルテーブルに置かれます。import 文には、あるモジュール内の名前を、import を実行 しているモジュールのシンボルテーブル内に直接取り込むという変型が あります。(from..import..)

とのことなので、__init__.py で import を行うと,パッケージを import するだけで,__init__.py 内で import したシンボルを利用できる.

例えば,

/foo
  - __init__.py
  - bar.py

というフォルダ構成で、

$ cat bar.py
PIYO=100

$ cat __init__.py
from bar import PIYO

とした場合、import foo で,foo.PIYO が利用できる.これを使えばモジュール内での複雑な実装を隠してライブラリを提供できる。

16
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14