0
1

More than 3 years have passed since last update.

【備忘録】クラス、モジュール、パッケージ、ライブラリ

Posted at

はじめに

Pythonを前提に話をすすめていきます。たぶん。
とりあえず用語をまとめて最後に包含関係をまとめます。

クラス

クラスは属性をもっています。
属性とはデータ属性メソッドのことです。

データ属性

クラスにあるデータ(変数)のことです。
データメンバ(C++)とかフィールド(Java)とかプロパティ(JavaScript)みたいなやつ。
いろんな言語でいろんな呼び方するから何が何だかって感じですね。

メソッド

クラスにある関数のことです。
いろんな処理をする子ですね。

モジュール

拡張子が.pyPythonファイルのこと。
このファイルにいろんな定義(変数や関数)が書かれています。
他には実行文(モジュールを初期化するためのもの)も書かれています。

パッケージ

複数のモジュールをひとまとめにしたもの。

モジュール名前空間を "ドット付きモジュール名" を使って構造化する手段
https://docs.python.org/ja/3/tutorial/modules.html#packages

つまりこのパッケージのおかげでいろんなモジュールが参照できて、同じ名前の関数とかがあっても上手くつかえるってわけですね。ありがたやありがたや。

ちなみに、pipはパッケージ管理ツールです。

ライブラリ

複数のパッケージをひとつにまとめたもの。

包含関係

ライブラリ ⊇ パッケージ ⊇ モジュールって感じですね。

何が紛らわしかったのか

ドット演算子でモジュールを参照できるのが、オブジェクトの参照っぽくてクラスと似てたことですかね。
あとは名前が多すぎってことですかね。

参考

Python公式ドキュメント(日本語)
なんか違う気がするけど一応参考にさせていただいた
Python におけるモジュールとパッケージは「名前空間」

0
1
3

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
1