it-swarm.com.de

Klassen vs. Module in Python

Python verfügt über viele Module (z. B. re ), die bestimmte Aktionen ausführen. Sie können die Funktionen dieses Moduls aufrufen und Ergebnisse abrufen, und das Modul als Ganzes hat eine Idee (in diesem Fall Umgang mit regulären Ausdrücken).

Klassen scheinen fast genau dasselbe zu tun, aber sie scheinen auch viel mehr Eigenschaften als Module zu verwenden.

Inwiefern unterscheiden sich Module von Klassen? (Ich weiß, dass ich ein Modul nicht unterordnen kann, aber ist es das?) Wann sollte ich eine Klasse anstelle eines Moduls verwenden?

22
Pro Q

Ein python -Modul ist nichts anderes als ein Paket zum Einkapseln von wiederverwendbarem Code. Module befinden sich normalerweise, aber nicht immer, in einem Ordner mit einem __init__.py Datei darin. Module können Funktionen, aber auch Klassen enthalten. Module werden mit dem Schlüsselwort import importiert.

Python bietet die Möglichkeit, Definitionen in eine Datei einzufügen und in einem Skript oder in einer interaktiven Instanz des Interpreters zu verwenden. Eine solche Datei wird als Modul bezeichnet. Definitionen aus einem Modul können in andere Module oder in das Hauptmodul importiert werden.

Weitere Informationen zu Python Modulen) finden Sie unter folgenden Links:

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

Klassen hingegen können in Ihrem Hauptanwendungscode oder in von Ihrer Anwendung importierten Modulen definiert werden. Klassen sind der Code der objektorientierten Programmierung und können Eigenschaften und Methoden enthalten.

Weitere Informationen zu Python - Klassen finden Sie unter folgenden Links:

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

13
Eneko Alonso

Wenn es sich um eine Reihe reiner Funktionen handelt, z. re, ich habe sie in ein Modul eingefügt. Ich verwende eine Klasse, wenn ich weiß, dass es einen Status gibt, den ich mit diesem Code beibehalten möchte (z. B. eine Datei, die einmal eingelesen wird, deren Daten jedoch von mehreren Funktionen verwendet werden).

0
Greg Bell