web-dev-qa-db-ja.com

Pythonのクラスとモジュール

Pythonには、特定のアクションセットを実行する多くのモジュール( re など)があります。このモジュールの関数を呼び出して結果を取得することができ、モジュール全体がその背後にあるアイデアを持っています(この場合、正規表現を処理します)。

クラスはほとんど同じことをしているようですが、モジュールよりもプロパティをかなり多く使用しているようです。

モジュールはクラスとどのように異なりますか? (モジュールをサブクラス化できないことはわかっていますが、それはそれですか?)モジュールの代わりにクラスを使用する必要があるのはいつですか?

22
Pro Q

pythonモジュールは、再利用可能なコードをカプセル化するためのパッケージにすぎません。モジュールは、常にではありませんが、__init__.pyその中にファイル。モジュールには関数だけでなくクラスも含めることができます。モジュールはimportキーワードを使用してインポートされます。

Pythonには、定義をファイルに入れて、スクリプトまたはインタプリタのインタラクティブなインスタンスで使用する方法があります。このようなファイルはモジュールと呼ばれます。モジュールの定義は、他のモジュールまたはメインモジュールにインポートできます。

Pythonモジュールの詳細については、以下のリンクをご覧ください:

https://docs.python.org/2/tutorial/modules.html (Python 2) https://docs.python.org/3/tutorial/modules.html (Python 3)

一方、クラスは、メインアプリケーションコードまたはアプリケーションによってインポートされたモジュール内で定義できます。クラスはオブジェクト指向プログラミングのコードであり、プロパティとメソッドを含めることができます。

Pythonクラスの詳細については、以下のリンクをご覧ください。

https://docs.python.org/2/tutorial/classes.html (Python 2) https://docs.python.org/3/tutorial/classes.html (Python 3)

13
Eneko Alonso

それが純粋な関数の束である場合、例えばre、モジュールに入れました。そのコードを保持したい状態があることがわかっているときにクラスを使用します(たとえば、一度に読み込まれるが、そのデータがいくつかの関数によって使用されるファイル)。

0
Greg Bell