Python possède de nombreux modules (tels que re
) qui effectuent un ensemble spécifique d'actions. Vous pouvez appeler les fonctions de ce module et obtenir des résultats, et le module dans son ensemble a une idée derrière lui (dans ce cas, traitant des expressions régulières).
Les classes semblent faire presque exactement la même chose, mais elles semblent également utiliser un peu plus les propriétés que les modules.
En quoi les modules sont-ils différents des classes? (Je sais que je ne peux pas sous-classer un module, mais est-ce le cas?) Quand dois-je utiliser une classe au lieu d'un module?
random
module.re
Cependant, je ne me souviens pas si cela est vrai .Réponses:
Un module python n'est rien d'autre qu'un package pour encapsuler du code réutilisable. Les modules résident généralement, mais pas toujours, dans un dossier contenant un
__init__.py
fichier. Les modules peuvent contenir des fonctions mais aussi des classes. Les modules sont importés à l'aide duimport
mot - clé.En savoir plus sur les modules Python à ces liens:
https://docs.python.org/2/tutorial/modules.html (Python 2) https://docs.python.org/3/tutorial/modules.html (Python 3)
Les classes, en revanche, peuvent être définies dans votre code d'application principal ou dans des modules importés par votre application. Les classes sont le code de la programmation orientée objet et peuvent contenir des propriétés et des méthodes.
En savoir plus sur les classes Python à ces liens:
https://docs.python.org/2/tutorial/classes.html (Python 2) https://docs.python.org/3/tutorial/classes.html (Python 3)
la source
__init__.py
fichier.Si c'est un tas de fonctions pures, par exemple
re
, je les mets dans un module. J'utilise une classe quand je sais qu'il y a un état que je veux conserver avec ce code (par exemple un fichier qui est lu une fois, mais dont les données sont utilisées par plusieurs des fonctions).la source