Cacher des données dans Python : qu'est-ce que c'est, avantages et inconvénients [avec exemple de codage]

Publié: 2021-02-05

Table des matières

Qu'est-ce que le masquage de données ?

C'est une méthode utilisée dans la programmation orientée objet (POO) pour cacher avec l'intention de cacher des informations/données dans un code informatique. Les détails internes de l'objet, tels que les membres de données, sont masqués dans une classe. Il garantit un accès restreint aux données aux membres de la classe tout en maintenant l'intégrité de l'objet. Le masquage des données comprend un processus de combinaison des données et des fonctions en une seule unité pour dissimuler les données au sein d'une classe en limitant l'accès direct aux données depuis l'extérieur de la classe. Si vous êtes débutant en science des données et que vous souhaitez acquérir une expertise, consultez nos cours de science des données dispensés par les meilleures universités.

Le masquage des données aide les programmeurs informatiques à créer des classes avec des ensembles de données et des fonctions uniques en évitant l'entrée inutile d'autres classes dans le programme. En tant que technique de développement logiciel en POO, elle garantit un accès exclusif aux données et empêche les modifications intentionnelles ou non des données. Ces interdépendances limitées dans les composants logiciels aident à réduire la complexité du système et à augmenter la robustesse du programme.

Le masquage de données est également appelé masquage d'informations ou encapsulation de données. L'encapsulation des données est effectuée pour masquer les détails de mise en œuvre de l'application à ses utilisateurs. Comme l'intention derrière les deux est la même, l'encapsulation est également connue sous le nom de masquage de données. Lorsqu'une donnée membre est mentionnée comme privée dans la classe, elle n'est accessible qu'au sein de la même classe et inaccessible en dehors de cette classe.

Masquage de données en Python

Python devient un langage de programmation populaire car il s'applique à tous les secteurs et dispose d'outils et de bibliothèques d'implémentation de programme faciles. Le document Python définit le masquage des données comme isolant le client d'une partie de l'implémentation du programme. Certains objets du module sont conservés en interne, invisibles et inaccessibles à l'utilisateur.

Les modules du programme sont suffisamment ouverts pour comprendre comment utiliser l'application, mais les utilisateurs ne peuvent pas savoir comment l'application fonctionne. Ainsi, la dissimulation des données offre une sécurité tout en évitant la dépendance. Le masquage des données dans Python est la méthode pour empêcher l'accès à des utilisateurs spécifiques dans l'application.

Le masquage des données dans Python se fait en utilisant un double trait de soulignement avant (préfixe) le nom de l'attribut. Cela rend l'attribut privé/inaccessible et les masque aux utilisateurs. Python n'a rien de secret au sens propre du terme. Pourtant, les noms des méthodes et des attributs privés sont mutilés en interne et non mutilés à la volée, ce qui les rend inaccessibles par leurs prénoms.

Exemple de masquage de données en Python

#!/usr/bin/python

classe JustCounter :

__secretCount = 0

def count ( self ):

soi . __secretCount += 1

imprimer soi -même . __secretCount

compteur = JustCounter ()

compteur . compter ()

compteur . compter ()

compteur d'impression . __secretCount

Sortir

1

2

Traceback (dernier appel le plus récent) :

Fichier « test.py », ligne 12, dans <module>

compteur d'impression.__secretCount

AttributeError : l'instance JustCounter n'a pas d'attribut '__secretCount'

Python modifie en interne les noms des membres de la classe accessible par object._className__attrName.

Si la dernière ligne est modifiée comme suit :

……………………….

compteur d'impression._JustCounter__secretCount

Ensuite, cela fonctionne et le résultat est :

1

2

2

Avantages du masquage des données

  • Les objets de la classe sont déconnectés des données non pertinentes.
  • Il renforce la sécurité contre les pirates qui ne peuvent pas accéder aux données confidentielles.
  • Il empêche les programmeurs d'établir un lien accidentel avec des données incorrectes. Si le programmeur relie ces données dans le code, il ne renverra une erreur qu'en indiquant des corrections dans l'erreur.
  • Il isole les objets comme concept de base de la POO.
  • Il permet d'éviter d'endommager les données volatiles en les cachant du public .

Inconvénients du masquage des données

  • Cela peut parfois forcer le programmeur à utiliser un codage supplémentaire.
  • Le lien entre les données visibles et invisibles accélère le fonctionnement des objets, mais le masquage des données empêche ce lien.
  • Le masquage des données peut compliquer la tâche d'un programmeur et nécessiter l'écriture de codes longs pour créer des effets dans les données cachées.

Ainsi, le masquage des données est utile dans Python en ce qui concerne la confidentialité et la sécurité d'informations spécifiques au sein de l'application. Cela augmente le travail des programmeurs tout en reliant les données cachées dans le code. Mais, les avantages qu'il offre sont vraiment incontournables.

Lisez aussi: Questions et réponses d'entrevue Python

Conclusion

Pour rejoindre gratuitement notre cours Python en ligne, il vous suffit de suivre ces étapes :

  • Rendez-vous sur notre page upStart
  • Sélectionnez le cours "Python pour la science des données"
  • Cliquez sur S'inscrire
  • Compléter le processus d'inscription

C'est ça. Vous pouvez apprendre Python en ligne gratuitement grâce à notre nouveau programme upStart et démarrer votre voyage en science des données. Vous n'auriez qu'à investir 30 minutes par jour pendant quelques semaines. Ce programme ne nécessite aucun investissement monétaire.

Inscrivez-vous aujourd'hui et commencez.

Si vous avez des questions ou des suggestions concernant ce sujet, veuillez nous en informer dans les commentaires ci-dessous. Nous aimerions recevoir de vos nouvelles.

Si vous êtes curieux d'en savoir plus sur la science des données, consultez le programme Executive PG en science des données de IIIT-B & upGrad qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1 -on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

Que cachent les données en Python ?

Le masquage des données est l'un des concepts fondamentaux de la programmation orientée objet qui limite l'accès aux données du monde extérieur. Les détails tels que les membres de données sont cachés à l'aide du spécificateur d'accès "Privé". Considérez l'exemple suivant pour une meilleure compréhension.
Supposons que nous ayons une classe appelée myClass et un membre privé appelé __privateCounter. Dans cette classe, nous avons une fonction appelée myFunc qui incrémente la valeur de __privateCounter de 1 et l'affiche. En dehors de la classe, nous avons créé un objet de la classe et appelé myFunc à l'aide de cet objet. Maintenant, si nous essayons d'imprimer __privateCounter en utilisant cet objet, cela générera une erreur.
Dans l'exemple ci-dessus, le "__privateCounter" est par défaut un membre privé de la classe "myClass". Depuis que nous avons masqué des données dessus, il n'est pas possible d'y accéder en dehors de la classe dans laquelle il a été déclaré. Pour accéder aux membres privés, nous devons définir une fonction membre, qui dans ce cas est "myFunc".

Quels sont les avantages et les inconvénients du masquage de données ?

Bien que le masquage de données soit un concept de base des POO et présente de nombreux avantages, il présente également certains inconvénients. Voici quelques-uns des avantages et des inconvénients les plus importants du masquage de données dans Python :
Avantages
1. Il aide à prévenir l'utilisation abusive et la manipulation de données volatiles en les déclarant comme privées.
2. Les données membres de la classe sont dissociées des données non pertinentes.
3. Il isole les objets comme concept de base de la POO.
Désavantages
1. Les programmeurs sont souvent obligés d'écrire de longs codes afin de protéger les données volatiles des clients.
2. Les objets fonctionnent relativement plus lentement car le lien entre les données visibles et invisibles le fait fonctionner rapidement et le masquage des données empêche ce lien.

En quoi le masquage des données diffère-t-il de l'abstraction des données ?

Le masquage des données soutient l'idée de restreindre les données afin qu'elles ne puissent pas être consultées ou modifiées par le monde extérieur. Par exemple, les détails du salaire d'un employé sont cachés aux autres employés. En Python, ceci est réalisé en utilisant le "modificateur d'accès privé".
L'abstraction des données fait référence à l'idée de dissimuler l'implémentation interne et de ne montrer les fonctionnalités qu'au monde extérieur. Par exemple, dans une calculatrice, seules les opérations effectuées par la calculatrice vous sont présentées. Cependant, vous ne pouvez pas voir le fonctionnement interne de ces opérations. En Python, différents spécificateurs d'accès sont utilisés pour implémenter cela.