Pythonのimport
は、他のモジュールやパッケージを現在のプログラムで利用するための仕組みです。この記事では、その基本的な使い方と仕組みについて詳しく説明します。
importとは
import
は、Pythonでモジュールなどを利用するために使用するもので、ソースファイルの先頭に次のように記述します。
import パッケージ名
モジュール・パッケージ・ライブラリ
import
できるファイルには「モジュール」「パッケージ」「ライブラリ」など、さまざまな呼ばれ方をするものがあります。
- 「モジュール」は関数やクラスなどをまとめて記述したファイルのことです。
- モジュールが複数集まって構成されているものを「パッケージ」と呼びます。
- Pythonでは「ライブラリ」という言葉は厳格に定義されていませんが、モジュールやパッケージのことをライブラリとも呼ぶことがあります。
importの基本的な使い方
Pythonでは、import
の後に取り込みたいファイルの拡張子を除いた名前を入力するだけで、簡単にモジュールなどをインポートすることができます。
import sys
print(sys.version)
上記のコードでは、sys.version
はPythonのバージョンを取得するメソッドで、print
を実行すると現在使用しているPythonのバージョンが表示されます。
複数モジュールのインポート
import
文のあとに複数のモジュールを,
で区切って記述することができます。
import モジュール1, モジュール2
しかし、Pythonのコーディングスタイルガイドでは、この記述方法は推奨されていません。推奨されているのは、次のように1つずつインポートする方法です。
import モジュール1
import モジュール2
また、from
を使用してオブジェクトをインポートする場合にもカンマで区切って記述することができます。
from spam import foo, bar
オブジェクトを指定してインポート
あるモジュールから単独のオブジェクトをインポートする場合、from モジュール名 import オブジェクト名
でインポートすることが可能です。このときインポートされるのは指定されたオブジェクトのみで、インポートしたオブジェクトはオブジェクト名
で直接使用することができます。
from math import e
print(e)
このとき、インポートしなかったオブジェクトを使用するとエラーとなってしまうため注意してください。
新しく名前をつけてインポート
インポートするときに名前を変更してインポートすることもできます。
from math import sqrt as rt
print(rt(2))
ここではmath
パッケージ内のsqrt
モジュールをrt
という名前でインポートしています。このとき、元の名前sqrt
を呼び出すとエラーが返ってくるので注意してください。
パッケージの作成・インポート
オブジェクト・モジュールをインポートする場合には構成や__init__.py
の記述によってインポート方法に注意する必要があります。
基本的に、どのようにインポートすればいいのかはドキュメントに記載されているので、わざわざ__init__.py
を読む必要はありませんが、いろいろなパターンがあるのでこれから紹介していきます。
まずはパッケージを作成していきます。
# sample1.py
def sample1():
print('これはサンプル1です.')
# sample2.py
def sample2():
print('これはサンプル2です.')
これら2つのpyファイルsample1.py
とsample2.py
を1つのディレクトリsampletext
にまとめましょう。そうすることで、sampletext
パッケージが作成できます。
さらに、パッケージを初期化するためのファイル__init__.py
を作成する必要があります。__init__.py
には次のように記述しましょう。
from . import sample1
from . import sample2
このように記述することで、複数のモジュールを簡単に扱えるようになります。
- 以上がPythonの
import
の基本的な使い方と仕組みについての解説です。この記事がPythonのimport
の理解に役立つことを願っています。