これらはすべて先人たちが書いたコードであり、それをほかの人が利用しやすい形に整えたり、よく使うものを集めたりしたものがモジュール、パッケージ、ライブラリと呼ばれています。
これらの言葉はどれも同じものだと思っても実用上問題ないかもしれませんが違いがあるので紹介します。
モジュールとパッケージとライブラリの違い
すべてのコードを書かなくても、途中から利用できるものは結構たくさんあります。
例えば、履歴書を電子ファイルで提出するとき、一から作るのは大変ですが、必要事項を記入する「テンプレート」があったほうが楽ですよね?
ライブラリやパッケージと言われているものはこの「テンプレート」のようなものです。
こめやん
モジュールは実行可能なコードファイル、パッケージはそれのセット、さらにライブラリはパッケージのセットとなっています。
モジュールとは?
モジュールは一つの実行可能なコードファイル(.pyファイル)のことを指します。
例えば「module.py」という実行可能なコードファイルを用意します。この中には関数 functionが入っています。
こめやん
module.pyを使えばそのモジュール中に入っている関数を呼び出して使うことができます。
import module
module.fuction(“~
というようにモジュールを使えます。
パッケージ
パッケージはモジュールのセットです。例えば統計解析のパッケージには「ヒストグラムを描くモジュール」「正規分布のグラフを描くモジュール」など一緒に使いそうなものを集めています。
パッケージ codepackageの中にはsubpackage1やsubpackage2などのサブパッケージがあり、その中module.pyなどのモジュールが入っているとします。
「from codepackage.subpackage1 import module」 と打ち込むとcodepackage中のサブパッケージsubpackage1の中にあるmoduleを呼び出すことができます。
ライブラリ
ライブラリはパッケージよりもさらに大きい単位として認知されています。ライブラリには複数のパッケージが入っています。
エクセルのテンプレートをモジュールとして考えると、
履歴書のテンプレートがモジュール、パッケージは応募書類一式(履歴書や給与振込口座、研究概要などのテンプレート)がライブラリは応募書類一式、研修日誌などが入ったインターンシップ応募~終了までのテンプレート一式のようなイメージです
こめやん
ライブラリは単独では実行できません。ライブラリ自体は他のプログラムから利用されるというような形態をとっています(○○アプリを動かすのに、○○ライブラリが必要というように)。特に様々なソフトウエアから利用されることが想定されているライブラリを共有ライブラリといいます。
プログラムは複数のライブラリからなっていて実行可能なものです。
pythonの代表的なライブラリ
pythonが人気がある理由の一つに「実用性の高いライブラリが充実している」とうい点があります。わざわざライブラリをたくさん入れなくても標準ライブラリとして基本的なライブラリは入っています。
pip, pip3
「pip」はライブラリをダウンロードしたりインストールしたりするライブラリ管理のライブラリです。
simplejson
json形式のファイルを扱うためのライブラリです。Jsonは人間が理解しやすい記述形式のデータです。javascriptとの関連からもWebアプリケーション同士でのデータのやり取りに使われているデータフォーマットです。
requests
HTTP通信関連のライブラリでよく利用されています。URLを開いたり、データを取得したりできます。beautiful soupと組み合わせればスクレイピングができます。また、HTMLのフォームにデータ送信することもできます。
pandas
pandasはCSVファイルなどの表形式のファイルを読み込んでデータ処理を行うライブラリです。データ分析などに利用されます。
matplotlib
取得したデータを元にグラフ描画したい場合はこのライブラリを使用します。同じくSeabornというライブラリもおすすめです。
BeautifulSoup4
WebページのHTMLタグなどを指定して特定の情報を回収するスクレイピングに利用できます。
selenium
クロームのヘッドレスブラウザなどを操作することができるライブラリです。webページの操作を自動化したりするのに利用できます。
datetime
その日の時刻や日付を取得することができる単純なライブラリですが、使用頻度は高いかもしれません。取得したデータに対してその日の日付をファイル名にして保存したり、特定の日付にアクションを行うなど適応範囲は広いです。
こめやん