Ocultación de datos en Python: qué es, ventajas y desventajas [con ejemplo de codificación]

Publicado: 2021-02-05

Tabla de contenido

¿Qué es la ocultación de datos?

Es un método utilizado en la programación orientada a objetos (POO) para ocultar con la intención de ocultar información/datos dentro de un código de computadora. Los detalles de objetos internos, como los miembros de datos, están ocultos dentro de una clase. Garantiza el acceso restringido a los datos a los miembros de la clase mientras mantiene la integridad del objeto. La ocultación de datos incluye un proceso de combinación de datos y funciones en una sola unidad para ocultar datos dentro de una clase al restringir el acceso directo a los datos desde fuera de la clase. Si es un principiante en ciencia de datos y desea adquirir experiencia, consulte nuestros cursos de ciencia de datos de las mejores universidades.

La ocultación de datos ayuda a los programadores de computadoras a crear clases con conjuntos de datos y funciones únicos al evitar la entrada innecesaria de otras clases en el programa. Al ser una técnica de desarrollo de software en programación orientada a objetos, garantiza el acceso exclusivo a los datos y evita cambios intencionados o no intencionados en los datos. Estas interdependencias limitadas en los componentes de software ayudan a reducir la complejidad del sistema y aumentan la solidez del programa.

La ocultación de datos también se conoce como ocultación de información o encapsulación de datos. La encapsulación de datos se realiza para ocultar los detalles de implementación de la aplicación a sus usuarios. Como la intención detrás de ambos es la misma, la encapsulación también se conoce como ocultación de datos. Cuando un miembro de datos se menciona como privado en la clase, solo es accesible dentro de la misma clase e inaccesible fuera de esa clase.

Ocultación de datos en Python

Python se está convirtiendo en un lenguaje de programación popular, ya que se aplica a todos los sectores y tiene herramientas y bibliotecas de implementación de programas fáciles. El documento de Python define la ocultación de datos como aislar al cliente de una parte de la implementación del programa. Algunos objetos del módulo se mantienen internos, invisibles e inaccesibles para el usuario.

Los módulos del programa son lo suficientemente abiertos para entender cómo usar la aplicación, pero los usuarios no pueden saber cómo funciona la aplicación. Por lo tanto, la ocultación de datos proporciona seguridad, además de evitar la dependencia. La ocultación de datos en Python es el método para evitar el acceso a usuarios específicos en la aplicación.

La ocultación de datos en Python se realiza utilizando un doble guión bajo antes (prefijo) del nombre del atributo. Esto hace que el atributo sea privado/inaccesible y los oculta a los usuarios. Python no tiene nada secreto en el sentido real. Aun así, los nombres de los métodos y atributos privados se modifican y deshacen internamente sobre la marcha, lo que los hace inaccesibles por sus nombres de pila.

Ejemplo de ocultación de datos en Python

#!/usr/bin/python

clase JustCounter :

__secretCount = 0

cuenta def ( auto ):

uno mismo __secretCount += 1

imprimir uno mismo . __secretCount

contador = SoloContador ()

contador _ contar ()

contador _ contar ()

contador de impresiones __secretCount

Producción

1

2

Rastreo (llamadas recientes más última):

Archivo “test.py”, línea 12, en <módulo>

imprimir contador.__secretCount

AttributeError: la instancia de JustCounter no tiene el atributo '__secretCount'

Python cambia internamente los nombres de los miembros de la clase a la que accede object._className__attrName.

Si la última línea se cambia como:

…………………….

imprimir contador._JustCounter__secretCount

Entonces funciona, y la salida es:

1

2

2

Ventajas de la ocultación de datos

  • Los objetos dentro de la clase están desconectados de los datos irrelevantes.
  • Aumenta la seguridad contra los piratas informáticos que no pueden acceder a los datos confidenciales.
  • Evita que los programadores se vinculen accidentalmente con datos incorrectos. Si el programador vincula estos datos en el código, solo devolverá un error indicando correcciones en el error.
  • Aísla objetos como el concepto básico de OOP.
  • Ayuda a prevenir el daño a los datos volátiles ocultándolos del público .

Desventajas de la ocultación de datos

  • A veces puede obligar al programador a usar codificación adicional.
  • El vínculo entre los datos visibles e invisibles hace que los objetos funcionen más rápido, pero la ocultación de datos impide este vínculo.
  • La ocultación de datos puede hacer que sea más difícil para un programador y necesita escribir códigos largos para crear efectos en los datos ocultos.

Por lo tanto, la ocultación de datos es útil en Python cuando se trata de privacidad y seguridad de información específica dentro de la aplicación. Aumenta el trabajo de los programadores al vincular datos ocultos en el código. Pero, las ventajas que ofrece son verdaderamente ineludibles.

Lea también: Preguntas y respuestas de la entrevista de Python

Conclusión

Para unirte a nuestro curso online de Python gratis, solo tienes que seguir estos pasos:

  • Dirígete a nuestra página upStart
  • Seleccione el curso "Python para Data Science"
  • Haga clic en Registrarse
  • Complete el proceso de registro

Eso es todo. Puede aprender Python en línea de forma gratuita a través de nuestro programa upStart recientemente lanzado y comenzar su viaje de ciencia de datos. Solo tendrías que invertir 30 minutos al día durante unas semanas. Este programa no requiere inversión monetaria.

Regístrese hoy y comience.

Si tiene alguna pregunta o sugerencia con respecto a este tema, háganoslo saber en los comentarios a continuación. Nos encantaría saber de usted.

Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Programa ejecutivo PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 -on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.

¿Qué se esconden los datos en Python?

La ocultación de datos es uno de los conceptos centrales de la programación orientada a objetos que restringe el acceso a los datos del mundo exterior. Los detalles, como los miembros de los datos, se mantienen ocultos con la ayuda del especificador de acceso "Privado". Considere el siguiente ejemplo para una mejor comprensión.
Supongamos que tenemos una clase llamada myClass y un miembro privado llamado __privateCounter. Dentro de esta clase, tenemos una función llamada myFunc que incrementa el valor de __privateCounter en 1 y lo imprime. Fuera de la clase, creamos un objeto de la clase y llamamos a myFunc usando este objeto. Ahora, si intentamos imprimir __privateCounter usando este objeto, arrojará un error.
En el ejemplo anterior, el "__privateCounter" es por defecto un miembro privado de la clase "myClass". Dado que hemos ocultado datos en él, no se puede acceder a él fuera de la clase en la que se ha declarado. Para acceder a los miembros privados, tenemos que definir una función miembro, que en este caso es "myFunc".

¿Cuáles son las ventajas y desventajas de la ocultación de datos?

Aunque la ocultación de datos es un concepto central de los OOP y tiene muchas ventajas, también tiene algunas desventajas. Las siguientes son algunas de las ventajas y desventajas más significativas de la ocultación de datos en Python:
Ventajas
1. Ayuda a prevenir el uso indebido y la manipulación de datos volátiles al declararlos como privados.
2. Los miembros de datos de la clase se desvinculan de los datos irrelevantes.
3. Aísla objetos como concepto básico de la programación orientada a objetos.
Desventajas
1. Los programadores a menudo se ven obligados a escribir códigos largos para proteger los datos volátiles de los clientes.
2. Los objetos funcionan comparativamente más lentos ya que el enlace entre los datos visibles e invisibles hace que funcionen rápido y la ocultación de datos evita este enlace.

¿En qué se diferencia la ocultación de datos de la abstracción de datos?

La ocultación de datos respalda la idea de restringir los datos para que el mundo exterior no pueda acceder a ellos ni modificarlos. Por ejemplo, los detalles del salario de un empleado están ocultos para otros empleados. En Python, esto se logra usando el "modificador de acceso privado".
La abstracción de datos se refiere a la idea de ocultar la implementación interna y solo mostrar las características al mundo exterior. Por ejemplo, en una calculadora, solo se le muestran las operaciones realizadas por la calculadora. Sin embargo, no puede ver el funcionamiento interno de estas operaciones. En Python, se utilizan diferentes especificadores de acceso para implementar esto.