Comprender la abstracción: ¿Cómo funciona la abstracción en Python?

Publicado: 2023-04-08

Python es uno de los lenguajes de programación más utilizados. Python ha simplificado que los usuarios programen de manera más eficiente con la ayuda de la abstracción. Este concepto mantiene a los usuarios enfocados solo en la información esencial y mantiene ocultos los detalles superfluos.

Tabla de contenido

¿Qué es la abstracción en Python?

La abstracción se define como un concepto central de la programación orientada a objetos. Le ayuda a encapsular los datos de implementación de una clase de sus usuarios. Laabstracción en Python te ayuda a interactuar con una clase sin comprender su funcionamiento interno.Se logra con el uso de interfaces y clases abstractas.

Laabstracción en Python se refiere además a la gestión de la complejidad al ocultar información innecesaria al usuario.Por lo tanto, la codificación se simplifica. El usuario simplemente interactúa con la implementación fundamental de clases y funciones; el funcionamiento interno permanece oculto.

Esencialmente, el usuario solo conoce el propósito de la función; no saben cómo se logra. Tenga en cuenta que no se puede crear una instancia de un resumen, es decir, no podemos crear objetos para la clase abstracta. Hace que su código sea más extensible, legible y mantenible. Además, evita la duplicidad. Centrarse solo en el concepto principal puede ayudar a mejorar la eficiencia de su trabajo.

¿Cómo funciona la abstracción en Python?

El papel clave de la abstracción es ocultar el funcionamiento interno del código. Las interacciones se logran con los usuarios a través de la implementación básica. El concepto de abstracción en Python funciona mediante el uso de clases y métodos abstractos.

La clase abstracta se define como una clase mencionada en el código que tiene métodos abstractos. Los métodos abstractos no tienen ninguna implementación; todas las implementaciones se realizan dentro de las subclases.

Python utiliza definiciones de métodos autovariables al inicializar una variable. Un método de clase proporciona información sobre la clase. Este método debe declararse como un parámetro para definir un método instantáneo.

Puede comprender fácilmente el funcionamiento dela abstracción de datos en Python a través de un escenario del mundo real.Cuando compra en línea, compra o agrega productos al carrito y luego paga por ellos. Sin embargo, cuando hace clic en las opciones disponibles, realizan varias funciones internamente cuya implementación no está disponible para el usuario. El usuario solo puede ver la vista requerida. Aquí es donde opera una abstracción que busca la ventaja de la clasificación jerárquica, es decir, los módulos complejos se fragmentan en piezas manejables.

Importancia de la abstracción en Python

Así es como la abstracción afirma su importancia en diferentes funciones en Python para simplificar las ejecuciones de programación con el lenguaje relevante.

  • Laabstracción en Python ayuda a ocultar la clase, los datos o el proceso irrelevantes y, por lo tanto, disminuye la complejidad de la codificación.
  • Mejora la eficiencia de la aplicación.
  • La abstracción en Python permite a los usuarios crear funciones escalables y flexibles que son fáciles de adaptar.

Clases base de abstracción

En Python, una clase base abstracta se refiere al programa de aplicación común de la interfaz para varias subclases. En términos más simples, funciona como modelo para otras clases. El tercero puede usarlo para beneficiarse de las implementaciones como con los complementos.

Al definir clases base abstractas, puede desarrollar una interfaz de programación de aplicaciones (API) común para varias subclases. Es beneficioso cuando se trabaja en grandes equipos en los que no es necesario recordar todas las clases. Además, los terceros no tienen que proporcionar todas las clases en la biblioteca.

Puede usar esta función de abstracción de datos en Python si está trabajando con una gran base de código y le resulta difícil recordar todas las clases.

Aprenda cursos de ciencia de datos en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

La funcionalidad de las clases abstractas

A diferencia de otros lenguajes de programación de alto nivel, Python no proporciona una clase abstracta propia. Puede usar el método ABC de Python, que ofrece las herramientas básicas y esenciales para definir las Clases Base Abstractas (ABC). Esencialmente, ABC proporciona la función de subclases virtuales. Son clases que no heredan propiedad de una clase y aún pueden ser identificadas por

isinstance() y issubclass().

El siguiente módulo le ayuda a desarrollar su propio ABC.

de abc importar ABC

clase MiABC(ABC):

aprobar

Como se mencionó anteriormente, el módulo ABC ofrece la metaclase, es decir, ABCMeta, que define la definición de ABC, y una clase auxiliar ABC para definir ABC usando la herencia.Además, el módulo ABC ofrece el decorador@abstractmethod para representar métodos abstractos.ABC se define de tal manera que la palabra clave@abstractmethod decora los métodos abstractos dentro de la clase base cuando se crean.Además, los métodos concretos se representan como implementaciones de la clase base.

El siguienteejemplo de abstracción en Python lo ayuda a comprender mejor la funcionalidad de las clases abstractas.

Explore nuestros cursos populares de ciencia de datos

Programa Ejecutivo de Postgrado en Data Science del IIITB Programa de Certificado Profesional en Ciencia de Datos para la Toma de Decisiones Empresariales Maestría en Ciencias en Ciencia de Datos de la Universidad de Arizona
Programa de Certificado Avanzado en Ciencia de Datos de IIITB Programa de certificado profesional en ciencia de datos y análisis empresarial de la Universidad de Maryland Cursos de ciencia de datos

de abc importar ABC, método abstracto

clase Asunto (ABC):

puntuación def (auto):

aprobar

clase de ingles (asignatura):

puntuación def (auto):

imprimir ("La puntuación es 80")

clase Matemáticas (Asunto):

puntuación def (auto):

imprimir ("La puntuación es 75")

clase Ciencias (Asunto):

puntuación def (propia):

imprimir ("La puntuación es 85")

clase Literatura(Asunto):

puntuación def (auto):

imprimir ("La puntuación es 70")

e= inglés()

puntuación electrónica()

m = Matemáticas()

puntuación m.()

s = ciencia()

s.puntuación()

l = Literatura()

l.puntuación()

Producción:

el puntaje es 80

el puntaje es 75

el puntaje es 85

el puntaje es 70

Entendamos la implementación del código anterior.

Hemos importado el módulo ABC para hacer la clase base abstracta. La clase Sujeto hereda la clase ABC y se define un método abstracto, “puntuación()” .A continuación, heredamos la clase base de varias subclases e implementamos el método abstracto de forma única. Los objetos (aquí, los nombres de los sujetos) se crean para llamar al método abstracto. Finalmente, se proporciona como salida la puntuación de cada asignatura.

Consulte nuestroscursos gratuitos de ciencia de datos para obtener una ventaja sobre la competencia.

Ejemplo de abstracción en Python: aplicaciones del mundo real

1. Raspado web

Una de las mejores aplicaciones del mundo real de Python es el web scraping. Indica el raspado de una gran cantidad de datos por parte de las empresas para recuperar información de los clientes y tomar decisiones rentables. El concepto de abstracción solo muestra la información requerida y, por lo tanto, ayuda a las empresas a acceder fácilmente a los datos de los clientes. Además, herramientas como Selenium, PythonRequest y MechanicalSoup se utilizan en la programación de Python para desarrollar aplicaciones de web scraping.

2. Aprendizaje automático e IA

Podemos considerar laabstracción en el ejemplo de Python en el dominio de aprendizaje automático e IA.La facilidad de codificación y la facilidad de comprensión del concepto de abstracción ayudan a Python a manejar los cálculos complejos necesarios para desarrollar modelos de aprendizaje automático. Las bibliotecas de Python como Pandas, Keras, NumPy y otras son útiles para las aplicaciones de aprendizaje automático. Además, el concepto de abstracción de Python se utiliza en varias soluciones de IA como reconocimiento de imágenes, computación avanzada, procesamiento de datos, etc.

Principales habilidades de ciencia de datos para aprender

Principales habilidades de ciencia de datos para aprender
1 Curso de Análisis de Datos Cursos de Estadística Inferencial
2 Programas de prueba de hipótesis Cursos de Regresión Logística
3 Cursos de regresión lineal Álgebra lineal para análisis

3. GUI de escritorio

Python es un lenguaje de programación de código abierto, fácil de aprender, independiente de la plataforma y estable. Estos aspectos hacen que Python sea adecuado para crear GUI de escritorio. Las herramientas como PyGUI, PyQt y WxPython se usan ampliamente para desarrollar GUI de alta calidad de manera eficiente.

Lea nuestros populares artículos de ciencia de datos

Trayectoria profesional en ciencia de datos: una guía profesional completa Crecimiento profesional en ciencia de datos: el futuro del trabajo ya está aquí ¿Por qué es importante la ciencia de datos? 8 formas en que la ciencia de datos aporta valor al negocio
Relevancia de la ciencia de datos para los gerentes La última hoja de trucos de ciencia de datos que todo científico de datos debería tener Las 6 razones principales por las que debería convertirse en científico de datos
Un día en la vida del científico de datos: ¿Qué hacen? Mito reventado: la ciencia de datos no necesita codificación Business Intelligence vs Data Science: ¿Cuáles son las diferencias?

4. Cocinar

Si desea calentar su comida en un microondas, es posible que desee presionar ciertos botones para configurar el temporizador y otras funciones. En consecuencia, obtienes una comida caliente y sabrosa. El funcionamiento interno y los detalles del microondas están ocultos para usted. Solo puede acceder a la funcionalidad externa para personalizar el tiempo y el proceso de cocción.

Llevar

Laabstracción en Python simplifica el proceso de manejar la complejidad al distribuirla en partes más pequeñas.Puede usar las partes más pequeñas en los programas o proyectos de software sin entender cómo funcionan. Este concepto ayuda a los programadores a reducir procesos complejos, mejorando la eficiencia en todo su funcionamiento.

Alcance la cima del éxito en su carrera de ciencia de datos siguiendo el Bootcamp de programación Python de upGrad . El programa facilita sesiones inmersivas dirigidas por expertos de la industria que utilizan las últimas herramientas y tecnologías para ayudar a los principiantes a fondo en la codificación.

Al impartir habilidades exigentes como la programación de bases de datos en SQL, la creación de lógica para la programación, las sintaxis importantes de Python y la programación de bases de datos en Python utilizando las bibliotecas Pandas y NumPy, el curso lo ayuda a dominar todos los aspectos de la programación de Python. Además del plan de estudios de vanguardia, upGrad ofrece varios beneficios adicionales, como clases interactivas en vivo, sesiones de aclaración de dudas, tutoría de expertos líderes de la industria, soporte para estudiantes las 24 horas, los 7 días de la semana, ¡y mucho más!

P. ¿Cuál es la diferencia entre abstracción y encapsulación en Python?

La abstracción en Python se usa para ocultar detalles internos y mostrar solo funcionalidades. El proceso proporciona nombres a las cosas para garantizar que el nombre capture el concepto fundamental de lo que hace una función o un programa completo. Por otro lado, la encapsulación restringe el acceso a variables y métodos. Envuelve datos y programas en una sola unidad para evitar que se modifiquen accidentalmente.

P. ¿Cómo te ayuda la abstracción en Python a crear código reutilizable?

En Python, el proceso de abstracción oculta los detalles de implementación del usuario. Su capacidad para ocultar los detalles de cómo funciona un programa hace que su código sea más reutilizable. Implica que puede usar el mismo código de una manera más generalizada en varias situaciones sin preocuparse por cómo funciona bajo el mismo capó. Además, la abstracción en Python hace que su código sea más fácil de leer y comprender.

P. ¿Cuáles son los métodos admitidos en las clases abstractas en Python?

Las clases abstractas en Python pueden admitir métodos abstractos y concretos en Python. Los métodos abstractos deben implementarse en las clases derivadas. Los métodos concretos se implementan en la clase base.