Python tiene muchos módulos (como re
) que realizan un conjunto específico de acciones. Puede llamar a las funciones de este módulo y obtener resultados, y el módulo en su conjunto tiene una idea detrás (en este caso, tratar con expresiones regulares).
Las clases parecen hacer casi exactamente lo mismo, pero también parecen usar propiedades bastante más que los módulos.
¿De qué manera los módulos son diferentes a las clases? (Sé que no puedo subclasificar un módulo, pero ¿es eso?) ¿Cuándo debo usar una clase en lugar de un módulo?
random
módulo.re
Sin embargo, no recuerdo si esto es cierto .Respuestas:
Un módulo de Python no es más que un paquete para encapsular código reutilizable. Los módulos generalmente, pero no siempre, residen en una carpeta con un
__init__.py
archivo dentro. Los módulos pueden contener funciones pero también clases. Los módulos se importan usando laimport
palabra clave.Obtenga más información sobre los módulos de Python en estos enlaces:
https://docs.python.org/2/tutorial/modules.html (Python 2) https://docs.python.org/3/tutorial/modules.html (Python 3)
Las clases, por otro lado, se pueden definir en el código de su aplicación principal o dentro de los módulos importados por su aplicación. Las clases son el código de la programación orientada a objetos y pueden contener propiedades y métodos.
Obtenga más información sobre las clases de Python en estos enlaces:
https://docs.python.org/2/tutorial/classes.html (Python 2) https://docs.python.org/3/tutorial/classes.html (Python 3)
fuente
__init__.py
archivo.Si se trata de un montón de funciones puras, por ejemplo
re
, las pongo en un módulo. Utilizo una clase cuando sé que hay un estado que quiero mantener con ese código (por ejemplo, un archivo que se lee una vez, pero cuya información es utilizada por varias de las funciones).fuente