LoginSignup
0
3

More than 5 years have passed since last update.

Pythonのモジュールのインストール・インポートを自分用に解説

Last updated at Posted at 2019-03-06

モジュールの概念

コードを記述して、他のプログラムから再利用できるようにしたファイルのことをモジュールと呼びます。

モジュールのインポート

Pythonだけでは実は貧弱だったりします。

Pythonそれだけではシンプルという禅のモットーから、できることが少ないです。例えば、理系の皆さんが大好きなsin, cos tan関数の値を計算したくなったとしましょう。

>>> sin(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'sin' is not defined

上述のように、「sinなんてものはない」と怒られます。Pythonという名の工場は、実は取り扱い製品に限りがあるのです。

スクリーンショット 2019-03-06 15.53.45.png

import

そこでPythonという我々の工場に、mathと呼ばれる機械を調達してくれば、sin, cos, tanを取り扱うことも可能になります。その調達作業がimportです。ではそれを行ってみましょう。

>>> import math
>>> math.sin(1)
0.8414709848078965

上の例ではmathというライブラリをimportし、その中のsin関数を使って1ラジアンのときのsinの値を計算しています。

スクリーンショット 2019-03-06 15.57.08.png

「importされたmathの中のsinを使う」という意味で、math.sinと記述されることに注意しましょう。cosの計算の場合も同様です。

>>> math.cos(1)
0.5403023058681398

モジュールの一部のimport

mathと呼ばれる機械が提供してくれる機能はとても魅力的です。しかし、その機械の機能全てを使うわけではないので、その一部だけを持ってきたいとあるとき思いました。その場合にはfromを使って、以下のように記述します。

>>> from math import sin
>>> sin(1)
0.8414709848078965

上の例では、mathの中でもsinしか用いない場合を想定したものです。今度はmathの中のsinを直接importしている、という意味合いから、math.sinとは記述せずsinだけで計算を行うことができます。

この場合、sinしかimportしていないため、cosを使うことはできません。

>>> cos(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'cos' is not defined

モジュールに略称をつける

Python工場に導入したmath機械ですが、多用しているうちに、いちいち正式名称で呼ぶのが億劫になってきました。そんな時はasを使って、以下のように記述します。

スクリーンショット 2019-03-06 16.28.00.png

>>> import math as mt
>>> mt.sin(1)
0.8414709848078965

as以降は自分の好きな名称をつけることができます。numpyをnp、pandasをpdと略して使えているのは、この文法のためだったのです。

モジュールのインストール

世の中には便利なモジュールが数多く存在します。NumPy(数値計算ライブラリ)やmatplotlib(グラフ描画ライブラリ)はその例です。当然ですが、これらを使うためには自分のパソコンにインストールする必要があります。

PyPIとpip install

pipというパッケージ管理ツールを用いることで、PyPI(Python Package Index: Pythonパッケージを登録・管理するためのサービス: https://pypi.org )からインストールすることができます。以下はPyPIのトップ画面です。

スクリーンショット 2019-03-06 16.34.16.png

マゼンタ枠のSearch projectsにnumpyとタイプすると、以下のような画面になります。

スクリーンショット 2019-03-06 16.34.28.png

上枠がpip installを用いたインストール方法、下枠がnumpyの詳細情報が書かれたウェブサイトへのリンク先になっています。

これで自分が必要なモジュールを自分のパソコンにインストールし、自分のPython工場にimportすることで、PyPIで公開されている便利なモジュールを思いのままに使うことができるようになります。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3