Ya sea que sea un experto o un principiante en la programación de Python, debe estar familiarizado con el importar módulos mando. Sin embargo, como recién llegado, es posible que no tenga una idea de dónde provienen esos módulos.
Echemos un vistazo más profundo para comprender el origen de esos módulos, junto con cómo crearlos e importarlos para su reutilización.
¿Qué es la reutilización del código y por qué debería hacerlo?
Una de las mejores prácticas cuando se trabaja con la mayoría de los lenguajes del lado del servidor es modularizar su código para que sea reutilizable. Debido a que Python está orientado a objetos, es uno de esos lenguajes que hace posible la reutilización del código.
La modularización de código implica escribir códigos que llevan a cabo diferentes instrucciones en bloques. Se utiliza para separar tareas entre sí.
Cuando modulariza un código, le da un nombre único. Ese nombre es su identidad y significa que la próxima vez que necesite usar ese bloque de código, solo necesita llamar su nombre y no el código completo.
Esta práctica hace que su trabajo sea mucho más fácil y rápido durante un proyecto de la vida real. La modularización del código también mejora la velocidad de ejecución y facilita las pruebas. En esencia, hace que su código sea más eficiente y legible.
Si bien nuestro ejemplo aquí no se basa en la programación orientada a objetos (OOP), debemos discutirlo brevemente antes de pasar a la creación de un módulo.
El código que intenta reutilizar a veces puede ser independiente como funciones individuales. Pero también puede ser en forma de métodos en un clase. Ahí es cuando entra en juego el concepto de programación orientada a objetos.
Programación orientada a objetos en Python
OOP es la presentación de códigos como objetos independientes en forma de clase. Cada objeto tiene entonces sus atributos y métodos.
Esos atributos son las características de la clase, mientras que cada método define el comportamiento de los atributos.
En lugar de escribir un código largo que es menos eficiente como una convención en la programación de procedimientos, su código se vuelve más eficiente y específico en OOP. La razón es que las funciones y los datos se almacenan en clases independientes en OOP, a diferencia de la separación de ambos en la programación procedimental.
Cada clase que creas adquiere una identidad. Entonces, cuando necesita un módulo con nombre de una clase, lo llama con referencia a esa clase.
Para comprenderlo mejor, eche un vistazo a nuestra guía para principiantes para comprender la programación orientada a objetos.
La mayoría de los lenguajes de programación modernos admiten el paradigma de "programación orientada a objetos" (OOP). Pero, ¿qué es exactamente la POO y por qué es tan útil?
Creación de funciones reutilizables: un ejemplo práctico
Continuando, echemos un vistazo a cómo podemos reutilizar la función para un contador de palabras en otro archivo de Python. Esta guía solo se enfocará en crear funciones reutilizables que no estén dentro de un objeto.
En primer lugar, abra un símbolo del sistema en cualquier ubicación de su computadora para iniciar un nuevo proyecto. En este caso, usaremos un nombre de proyecto de el recuento de palabras. Para hacer eso, escriba mkdir recuento_palabras.
A continuación, utilice su herramienta de entorno virtual preferida para crear un nuevo entorno virtual. Si ya ha creado uno, simplemente actívelo. Asegúrese de estar todavía en el directorio de su proyecto.
Como buena práctica, para crear la función de contador de palabras, primero intentamos encontrar una fórmula sin procesar para calcularla. Generalmente, puede encontrar un recuento de palabras agregando uno al número de espacios en una oración. Tenga en cuenta que, si bien es posible que no necesite un recuento de palabras, lo que importa para esta explicación es cómo se relaciona la idea con la reutilización del código.
A continuación, abra un editor de texto en la ubicación de su proyecto y cree un nuevo archivo Python. En este caso, el archivo se denomina wordcounter.py; asegúrese de utilizar el correcto .py extensión.
Esto es lo que contador de palabras el archivo se parece a:
# crea una variable llamada palabra que contenga algunas cadenas
palabra = ['cómo hacer un contador de palabras en python']
# Luego, recorre la variable para contar las palabras en la variable creada
NumberOfWords = [EachWord.count ('') + 1 para EachWord en palabra]
imprimir (NumberOfWords)
salida: [8]
Ahora que el código en bruto está funcionando, lo modularizamos creando una función que hace que el código sea reutilizable:
def CountWords (palabras):
si las palabras no son None:
NumberOfWords = [Eachword.count ('') + 1 for Eachword in words]
devolver NumberOfWords
mywords = ['haciendo un contador de palabras en python']
imprimir (CountWords (mywords))
salida: [6]
Eso es; Creamos un módulo contador de palabras. Veamos cómo reutilizarlo.
Importación del módulo creado
Recuerde que anteriormente creó un archivo llamado wordcounter.py. Ese archivo contiene una función llamada CountPalabras. Si necesita esa función en un nuevo archivo y no desea volver a escribir todo el código o la función, todo lo que necesita hacer es importar esa función como un módulo en su nuevo archivo.
Tenga en cuenta que todos sus archivos de Python deben estar en el mismo directorio, en este caso. Para asegurarse de que este sea el caso, simplemente cree un nuevo archivo de Python en el mismo directorio donde tiene el wordcounter.py expediente.
Así es como se ve el nuevo archivo:
desde wordcounter importar CountWords
palabras = ["cómo importar y reutilizar su código en Python"]
CountWords (palabras)
salida: [9]
En el fragmento de arriba, CountPalabras es la función dentro del wordcounter.py expediente. Para reutilizar esa función en un nuevo archivo de Python, lo importamos desde su archivo principal (wordcounter.py).
Importando absolutamente su módulo creado
¿Qué pasa si el nuevo archivo no está en el mismo directorio que el archivo del módulo? En estos casos, debe hacer referencia al módulo mediante una importación absoluta.
Para entender esto un poco más, supongamos que ha creado un nuevo archivo dentro del directorio de su proyecto. Pero el archivo desde el que desea importar su función (que es contador de palabras, en este caso), está en otra carpeta dentro del directorio de su proyecto, llamemos a esa carpeta subword_count.
Para importar su módulo desde contador de palabras (que ahora está dentro del subword_count carpeta) en un nuevo archivo de Python, debe llamarlo absolutamente. Para ver cómo funciona esto, cree un nuevo archivo en el directorio de su proyecto, asígnele su nombre preferido e importe su módulo como está escrito en el fragmento de código a continuación:
de subword_count.wordcounter importar CountWords
palabras = ["cómo importar y reutilizar su código en Python para archivos en diferentes carpetas."]
CountWords (palabras)
salida: [14]
Durante una importación absoluta, Python navega por la carpeta principal (subword_count en este caso) y localiza el archivo o módulo que contiene la función de interés (CountPalabras).
Para desglosar el significado de la importación absoluta anterior, subword_count es una carpeta en el directorio de su proyecto que contiene el wordcounter.py expediente. Ese archivo luego contiene el CountPalabras función.
¿Dónde funciona la reutilización del código?
Modularizar y reutilizar su código es una práctica recomendada para cualquier proyecto que esté ejecutando. Si escribe OOP, lo que probablemente haga con frecuencia, puede importar una clase desde un módulo o llamar a una función desde una clase. Si la clase está en una carpeta, impórtela absolutamente a su nuevo archivo.
La misma práctica se aplica a las funciones que no están en un objeto. Dependiendo del diseño de su proyecto, puede importarlos explícita o absolutamente, como hicimos anteriormente.
Para aprovechar al máximo las fortalezas de Python, querrá aprender cómo funciona Python con la programación orientada a objetos (OOP).
- Programación
- Programación
- Pitón
- Programación orientada a objetos
Idowu es un apasionado de la tecnología inteligente y la productividad. En su tiempo libre, juega con la codificación y cambia al tablero de ajedrez cuando está aburrido, pero también le encanta romper con la rutina de vez en cuando. Su pasión por mostrarle a la gente el camino en torno a la tecnología moderna lo motiva a escribir más.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.