初心者のためのPython入門~インポート:import, as, from~

どうも~むるむるです~

今回の記事では「インポート:import, as, from」について学んでいきたいと思います.

このシリーズではプログラミング初心者が最低限のPythonの知識を最短で身に着けることを目標としています.

このシリーズでは以下の順番でPythonの基本的な知識を学習していきます.

さて,早速本題に入りましょう.

Pythonでコードを書くのを効率化しようと思ったらすでに他の人が書いたコードや自分が書いたコードを他のファイルから再利用することが必須となります.

Pythonでは関数などをまとめたファイルをモジュールと言い,「import」を使うことで それらのモジュールが使えるようになります.

モジュール・パッケージ・ライブラリの違いをざっくり説明

Pythonを勉強し始めると,ライブラリ・パッケージ・モジュールとなんだかごっちゃになりそうな言葉に出くわすと思いますが,ここでざっくりと違いを説明したいと思います.

モジュール関数,クラスなどをまとめたPythonファイルのこと
パッケージモジュールをまとめたもの
ライブラリパッケージをまとめて,インストールできる形にしたもの

ライブラリには外部からインストールしなくても使える標準ライブラリと,外部からインストールしないと使えない外部ライブラリとがあります.

例えば,Pythonには標準ライブラリとして数学に関するmathライブラリというものが備わっており,円周率の値などが使いたくなったらmathをインポートすればすぐに使えるようになります.

数値計算でよく使われるnumpyライブラリは外部ライブラリとなり,基本的には自分でインストールしなくて使うことができません.

パッケージ・モジュール のことをライブラリと呼ぶこともあるので

インポート

さて,早速モジュールをインポートしていきましょう.

モジュールのインポートは以下のようにしてできます.

import モジュール名

簡単ですね.例としてmathモジュールをインポートするには以下のようにすればよいです.

import math
print(math.pi)
'''
出力結果:
3.141592653589793
'''

以上ではmathモジュールをインポートして,mathモジュールのなかにある「pi」という変数を出力しています.

上にもある通りモジュールのオブジェクト(関数,変数,クラスなど)にアクセスするには

モジュール名.オブジェクト名

とすればよいです.

from … import …

あるモジュールの中の特定のオブジェクト(関数,変数,クラスなど)だけを使いたいときは

from モジュール名 import オブジェクト名

とすることによって特定のオブジェクトだけをインポートすることができます.

以下のコードでは,mathモジュールの中から「pi」という変数だけをインポートしています.

from math import pi
print(pi)
'''
出力結果:
3.141592653589793
''

あるモジュールからすべてのオブジェクトをインポートしたいときは以下のように「from オブジェクト名 import *」とするだけで,そのモジュールのすべてのオブジェクトをインポートすることができます.

from math import *
print(pi)
print(sin(0))
'''
出力結果:
3.141592653589793
0.0
'''

上の例では,mathモジュールのすべてのオブジェクトをインポートしてmathモジュールの変数「pi」と関数「sin」を使っています.

こうすることで,いちいち「math.pi」や「math.sin」と書かずに変数や関数を呼び出すことができます.

import … as …

モジュールをインポートするときにモジュールに別名を付けてインポートすることができます.

import モジュール名 as 別名
import math as m
print(m.pi)
'''
出力結果:
3.141592653589793
'''

上の例ではmathモジュールに「m」という名前を付けてインポートしています.

自分で書いた別のPythonファイル(.py)からのインポート

自分で作ったモジュールをインポートする方法はこちらの記事にまとめましたのでそちらをご覧ください.

自分で書いた別のIPython Notebook(.ipynb)ファイルからのインポート

普段からJupyter Notebookを使っている人は「.py」ファイルではなく,「ipynb」ファイルに書かれたモジュールをインポートしたいときがあると思います.

そういう場合は「importnb」が使えます.別の記事にまとめましたので,そちらをご覧ください.

次回

次回は「例外処理:try, except, else, finally」について学習します.

次の記事はこちら.

機械学習のためにしっかりとPythonを勉強したいなら,ある程度の基礎を身に着けた後に下の本を読むのがお勧めです.この本をこなせば,より高いレベルへ到達できるでしょう.

最新情報をチェックしよう!