インポート
Pythonのインポート(import)は標準ライブラリのインポートはもちろん、自ら作成したモジュールのインポートも行うことができます。
まずは簡単なモジュールファイルを用意します。下記コードを「testmod.py」という名前で作業ディレクトリに保存してください。
# -*- coding: utf-8 -*-
class TestClass:
def __init__(self):
print 'create TestClass'
def test_method(self, val):
print 'call test_method'
print val
次は上記モジュールを実行(インポート)するコードを記述します。なおPythonはコード中のどこに「import」「from」を記述してもエラーにはなりません。
# -*- coding: utf-8 -*-
import testmod
test_class_1 = testmod.TestClass()
test_class_1.test_method('1')
from testmod import TestClass
test_class_2 = TestClass()
test_class_2.test_method('2')
--実行結果--
create TestClass call test_method 1 create TestClass call test_method 2
まずは3行目の「import」で対象のモジュールをインポートしています。これで「testmod」モジュールを使用する準備ができました。この時のモジュール名はファイル名の「.py」を含まない形にしてください。そして次の行で「testmod」内の「TestClass」のインスタンスを作成した形です。この場合は「モジュール名.クラス名」でインスタンス化を行い、「TestClass」が定義している「test_method」の呼び出しを行いました。
毎回「モジュール名.クラス名」と記述するのは面倒だというときには、9行目のような「from」を使用しましょう。「from」の後にモジュール名、「import」の後にクラス名という指定方法です。これにより次の行では、前述の「モジュール名.クラス名」ではなくクラス名だけで使用出来るようになります。なおクラスだけではなく、モジュール内に定義されているものであれば関数や変数なども「from」でインポートすることができます。
使い分けできてこそ!
▶基礎編:== と is の違い
