Pythonのモジュールとパッケージのimport(インポート)のサンプルです。(確認環境:Python 3)
目次
サンプル | モジュールをインポートする(同じフォルダにある) |
モジュールをインポートする(配下のフォルダ内にある) | |
関数のみをインポートする | |
パッケージをインポートする |
モジュールをインポートする(同じフォルダにある)
同じフォルダにあるモジュールをインポートするサンプルです。
test.pyが呼び出す側で、calc1.pyがモジュールです。
モジュール(calc1.py)
# coding: utf-8
def calcPlus(a,b):
return a + b
呼び出す側(test.py)
# coding: utf-8
import calc1 as c1
#import calc1
num = c1.calcPlus(2,3)
#num = calc1.calcPlus(2,3)
print (num) # 5を表示する
2行目は、モジュール(ファイル名の拡張子なし)をインポートしています。
asの後は別名でc1としています。
5行目は、別名のc1と関数名で関数を実行しています。
3行目のように別名を付けずにインポートできます。
その場合は、6行目のようにモジュール名をつけます。
モジュールをインポートする(配下のフォルダ内にある)
配下のフォルダ内にあるモジュールをインポートするサンプルです。
test.pyが呼び出す側で、calc1.pyがモジュールです。
呼び出す側(test.py)
# coding: utf-8
import test1.calc1 as c1
#from test1 import calc1 as c1
num = c1.calcPlus(2, 3)
print(num) # 5を表示する
2行目のようにフォルダ名とモジュール名をドット(.)でつなぎます。
3行目のようにfromフォルダ名、importモジュール名とすることもできます。
関数のみをインポートする
# coding: utf-8
from test1.calc1 import calcPlus
num = calcPlus(2,3)
print (num) # 5を表示する
2行目のように、fromの後にフォルダ名とモジュール名を指定し、importの後に関数名を指定すると関数名のみインポートされます。
パッケージをインポートする
__init__.pyファイルを配置することでそのフォルダをパッケージとして扱うことができます。
モジュール(calc1.py)
# coding: utf-8
def calcPlus(a,b):
return a + b
モジュール(calc2.py)
# coding: utf-8
def calcMinus(a,b):
return a - b
モジュール(__init__.py)
from . import calc1
from . import calc2
モジュールを読み込む記述をします。fromの後のドット(.)は、現フォルダを指します。
呼び出す側(test.py)
# coding: utf-8
import test1
num1 = test1.calc1.calcPlus(2, 3)
print(num1) # 5を表示する
num2 = test1.calc2.calcMinus(2, 3)
print(num2) # -1を表示する
2行目は、フォルダ(パッケージ)をインポートしています。
4,6行目は、パッケージ.モジュール.関数名の順で呼び出しています。
関連の記事