pythonの「ライブラリ」、「パッケージ」、「モジュール」についてまとめてみた。
今日は、pythonにおける「ライブラリ」、「パッケージ」、「モジュール」について
書きたいと思います。
pythonを勉強し初めてよく出てくるワードたちですが、
なんとなく分かるけど、いまいちわかっていませんでした。
結論から言いますと、
「モジュール」というのは、「○○.py」の形のもの。
「パッケージ」というのは、複数のモジュールをかき集めたもの。
「ライブラリ」というのは、複数のパッケージをかき集めたもの。
「モジュール」は、はっきり「○○.py」の形のものというふうに定義されているので、
ストンと腑に落ちます。
つまり一つのPythonプログラムコードなので、中には「クラス」であったり関数が
たらたらといくつか書いてあるんだなと分かります。
また、「パッケージ」もこれらモジュールを複数まとめたものなので、
まあ、分かります。
私があまり腑に落ちなかったのは「ライブラリ」です。
なぜかというと、基本的にはパッケージと区別があいまいだと思うからです。
よくライブラリというと「numpy」や「pandas」や「matplotlib」というのが
あると思うのですが、それパッケージと何が違うの?という疑問がありました。
なので、ライブラリというのは、パッケージとの明確な線引きはなく、
「モジュールやパッケージをまとめたもの」というざっくりした形なんだと理解すると
すっと入ってきます。
例えば、scimitar-learnですと、
「from sklearn.model_selection import LinearRegression」
とコードを書いた場合、
「sklearn」はパッケージともライブラリと呼ぶ人がいると思います。
つまり、明確な線引きなし。
「model_selection」はモジュールですよね。
そして、インポートした
「LinearRegression」は、「クラス」なので、はっきりしている。
(インスタンス化して使いますよね)
というわけで、私が腑に落ちなかった「ライブラリ」は、
「モジュールとパッケージの上位層」という考え方なら、
混乱しなくて済むよ!
というお話でした。
pythonを勉強していると、小さなことで引っかかってしまうことがありますが、
頑張っていきましょうね^^
以上です。