作ったクラス,関数を自前のパッケージとしてインポートして使えるようにします.
モジュール
Pythonサーチパス,カレントフォルダに置かれたPythonスクリプトはモジュールとしてインポートできます.
例えば,カレントフォルダに以下のようなファイル “mymodule.py” を置きます.
#!/usr/bin/python
# -*- coding: utf-8 -*-
class MyClass:
pass
def myFunc():
print "This is a very nice function."
CONST = 100
インタラクティブコンソールで以下のように使うことができます.
>>> import mymodule as mm >>> A = mm.MyClass >>> A.attr = 100 >>> print(A.attr) 100 >>> mm.myFunc() This is a very nice function. >>> print(mm.CONST) 100
パッケージ
複数のモジュールの集まりがパッケージです.たとえば,次のようにフォルダ構造を作ってファイルを置いてやります.
###
mypackage
│ mymodule.py
│ __init__.py
│
├─subdirone
│ mod_one.py
│ __init__.py
│
└─subdirtwo
mod_two.py
__init__.py
###
__init__.py は,空のファイルでも構いません.あるいはサブフォルダのモジュールをインポートする文を入れてもいいかもしれません.いずれにせよ,モジュール mymodule.py,mod_one.py,mod_two.py は以下のようにインポートできるようになります.
>>> import mypackage.mymodule as mm >>> import mypackage.subdirone.mod_one as m1 >>> import mypackage.subdirtwo.mod_two as m2
つまり,(カレントフォルダ)/folder1/folder2/folder3/module.py というファイル名で保存されているモジュールは,folder1.folder2.folder3.module として呼び出します.(フォルダ名に数字を使わない方がいいかもしれませんが...)
以上.モジュールのファイルが増えると便利ですね
