Python の import やfrom文を理解する

Pythonのプログラムには、最初にimport~とimport文が列挙されています。

import 文は、モジュールを読み込むときに用いります。

次の例では、numpyモジュールを読み込んでいます。

import numpy

そもそもモジュールって何?

モジュールとは、Pythonのファイル(.py)の事です。ですので、我々が普段作っているPythonのファイルもモジュールということになり、読み込むことができます。

そのモジュールには、関数やクラスがあります。

普段、それをimport文で読み込んでそのモジュールの関数やクラスを使っているということになります。

そのモジュールをいくつか集めてまとめたものをパッケージ、いくつかのパッケージをまとめてインストールできるようにしたものをライブラリと呼びます。

asで別名指定

Pythonでは、モジュールを別名で読み込むことができます。

次の例では、numpyモジュールをnpという別名で読み込んでいます。

import numpy as np

モジュールの関数、クラスを用いるためには、「モジュール.関数orクラス」と記述しなければなりません。

as の後に別名でモジュール名より短い別名を用いることで簡潔にプログラムを書くことができます。

次の例では、numpyを別名で読み込んだ例と読み込まない例です。

asなし

import numpy
xx=numpy.array([1,2,3],[4,5,6],[7,8,9])
yy=numpy.eyes(3)
zz=xx-yy

asあり

import numpy as np
xx=np.array([1,2,3],[4,5,6],[7,8,9])
yy=np.eyes(3)
zz=xx-yy

別名は、自分の好きな文字列を指定できますが、モジュール名より短くないとあまり意味はなく、また慣例として、numpyでは、「np」などと決まっています。

fromを用いる

モジュールの中には、複数の関数やクラスがあります。

そのモジュールのある一部を読み込みたいときにfrom文を用います。

モジュールは、たくさんimportするほど処理に時間がかかる場合があります。

従って、決まったモジュールの関数を用いるのなら、from文を用いる方がよいです。

from モジュール名 import 関数やクラス

次の例では、matplotlibモジュールのpyplotを読み込んでいます。

from matplotlib import pyplot

また、ピリオド「.」でつなげてもできます。

import matplotlib.pyplot

ピリオドで表記した場合、関数やクラスを用いるとき、非常に長くなるので「as」で短い文字列にしましょう。

import matplotlib.pyplot as plt

また、asは、from文でも同様に使用できます。

まとめ

モジュールとは、Pythonのファイルの事です。

モジュールの関数やクラスを用いたい場合、import文を記述します。

as、from文など複数の記述方法があります。