どうも~むるむるです~
今回の記事では「インポート:import, as, from」について学んでいきたいと思います.
このシリーズではプログラミング初心者が最低限のPythonの知識を最短で身に着けることを目標としています.
このシリーズでは以下の順番でPythonの基本的な知識を学習していきます.
- Python:Anacondaインストールとhello world,簡単な計算,コメントアウト
- 変数について
- データ型:int, float, str, bool
- データ型:list, tuple, dict
- 条件分岐:if – else 文
- 繰り返し:for文,while文
- 関数の定義,呼び出し,ラムダ式
- クラス
- モジュールのインポート (この記事)
- 例外処理:try, except, else, finally
- map, reduce, filter
さて,早速本題に入りましょう.
Pythonでコードを書くのを効率化しようと思ったらすでに他の人が書いたコードや自分が書いたコードを他のファイルから再利用することが必須となります.
Pythonでは関数などをまとめたファイルをモジュールと言い,「import」を使うことで それらのモジュールが使えるようになります.
モジュール・パッケージ・ライブラリの違いをざっくり説明
Pythonを勉強し始めると,ライブラリ・パッケージ・モジュールとなんだかごっちゃになりそうな言葉に出くわすと思いますが,ここでざっくりと違いを説明したいと思います.
モジュール | 関数,クラスなどをまとめたPythonファイルのこと |
パッケージ | モジュールをまとめたもの |
ライブラリ | パッケージをまとめて,インストールできる形にしたもの |
ライブラリには外部からインストールしなくても使える標準ライブラリと,外部からインストールしないと使えない外部ライブラリとがあります.
例えば,Pythonには標準ライブラリとして数学に関するmathライブラリというものが備わっており,円周率の値などが使いたくなったらmathをインポートすればすぐに使えるようになります.
数値計算でよく使われるnumpyライブラリは外部ライブラリとなり,基本的には自分でインストールしなくて使うことができません.
パッケージ・モジュール のことをライブラリと呼ぶこともあるので
インポート
さて,早速モジュールをインポートしていきましょう.
モジュールのインポートは以下のようにしてできます.
簡単ですね.例としてmathモジュールをインポートするには以下のようにすればよいです.
import math print(math.pi) ''' 出力結果: 3.141592653589793 '''
以上ではmathモジュールをインポートして,mathモジュールのなかにある「pi」という変数を出力しています.
上にもある通りモジュールのオブジェクト(関数,変数,クラスなど)にアクセスするには
とすればよいです.
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 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を勉強したいなら,ある程度の基礎を身に着けた後に下の本を読むのがお勧めです.この本をこなせば,より高いレベルへ到達できるでしょう.