Datenverstecken in Python: Was ist, Vor- und Nachteile [mit Codierungsbeispiel]

Veröffentlicht: 2021-02-05

Inhaltsverzeichnis

Was ist Datenverbergung?

Es ist eine Methode, die in der objektorientierten Programmierung (OOP) verwendet wird, um Informationen/Daten innerhalb eines Computercodes zu verstecken. Interne Objektdetails, wie z. B. Datenmember, sind innerhalb einer Klasse verborgen. Es garantiert den Klassenmitgliedern eingeschränkten Zugriff auf die Daten, während die Objektintegrität aufrechterhalten wird. Das Verbergen von Daten umfasst einen Prozess des Kombinierens der Daten und Funktionen in einer einzigen Einheit, um Daten innerhalb einer Klasse zu verbergen, indem der direkte Zugriff auf die Daten von außerhalb der Klasse eingeschränkt wird. Wenn Sie ein Anfänger in Data Science sind und Fachwissen erwerben möchten, sehen Sie sich unsere Data Science-Kurse von Top-Universitäten an.

Das Verbergen von Daten hilft Computerprogrammierern, Klassen mit einzigartigen Datensätzen und Funktionen zu erstellen, indem unnötiger Zugriff von anderen Klassen im Programm vermieden wird. Als Softwareentwicklungstechnik in OOP gewährleistet es den exklusiven Datenzugriff und verhindert beabsichtigte oder unbeabsichtigte Änderungen an den Daten. Diese begrenzten gegenseitigen Abhängigkeiten in Softwarekomponenten tragen dazu bei, die Systemkomplexität zu reduzieren und die Robustheit des Programms zu erhöhen.

Das Verbergen von Daten wird auch als Verbergen von Informationen oder Datenkapselung bezeichnet. Die Datenkapselung dient dazu, die Details der Anwendungsimplementierung vor den Benutzern zu verbergen. Da die Absicht hinter beiden dieselbe ist, wird die Kapselung auch als Datenverbergung bezeichnet. Wenn ein Datenelement in der Klasse als privat erwähnt wird, ist es nur innerhalb derselben Klasse zugänglich und außerhalb dieser Klasse nicht zugänglich.

Datenverstecken in Python

Python entwickelt sich zu einer beliebten Programmiersprache, da sie für alle Sektoren gilt und über einfache Tools und Bibliotheken zur Programmimplementierung verfügt. Das Python-Dokument definiert Data Hiding als Isolierung des Clients von einem Teil der Programmimplementierung. Einige Objekte im Modul bleiben intern, unsichtbar und für den Benutzer unzugänglich.

Die Module im Programm sind offen genug, um zu verstehen, wie die Anwendung verwendet wird, aber die Benutzer können nicht wissen, wie die Anwendung funktioniert. Somit bietet das Verbergen von Daten Sicherheit und vermeidet Abhängigkeiten. Das Verstecken von Daten in Python ist die Methode, um den Zugriff auf bestimmte Benutzer in der Anwendung zu verhindern.

Das Ausblenden von Daten in Python erfolgt durch Verwendung eines doppelten Unterstrichs vor (Präfix) dem Attributnamen. Dies macht das Attribut privat/unzugänglich und verbirgt sie vor Benutzern. Python hat im eigentlichen Sinne nichts Geheimnisvolles. Dennoch werden die Namen von privaten Methoden und Attributen intern im laufenden Betrieb verstümmelt und entzerrt, wodurch sie mit ihren Vornamen nicht zugänglich sind.

Beispiel für das Ausblenden von Daten in Python

#!/usr/bin/python

Klasse JustCounter :

__secretCount = 0

def count ( selbst ):

selbst . __secretCount += 1

selber drucken . __secretCount

Zähler = JustCounter ()

Zähler . zählen ()

Zähler . zählen ()

Zähler drucken . __secretCount

Ausgabe

1

2

Traceback (letzter Aufruf zuletzt):

Datei „test.py“, Zeile 12, in <module>

Zähler drucken.__secretCount

AttributeError: JustCounter-Instanz hat kein Attribut „__secretCount“

Python ändert intern die Namen von Membern in der Klasse, auf die durch object._className__attrName zugegriffen wird.

Wenn die letzte Zeile geändert wird als:

…………………….

Zähler drucken._JustCounter__secretCount

Dann funktioniert es und die Ausgabe ist:

1

2

2

Vorteile des Verbergens von Daten

  • Die Objekte innerhalb der Klasse werden von irrelevanten Daten getrennt.
  • Es erhöht die Sicherheit gegen Hacker, die nicht auf vertrauliche Daten zugreifen können.
  • Es verhindert, dass Programmierer versehentlich falsche Daten verknüpfen. Wenn der Programmierer diese Daten im Code verknüpft, wird er nur einen Fehler zurückgeben, indem er Korrekturen im Fehler anzeigt.
  • Es isoliert Objekte als Grundkonzept von OOP.
  • Es hilft , Schäden an flüchtigen Daten zu verhindern , indem es sie vor der Öffentlichkeit verbirgt .

Nachteile des Verbergens von Daten

  • Es kann den Programmierer manchmal dazu zwingen, zusätzliche Codierung zu verwenden.
  • Durch die Verknüpfung zwischen den sichtbaren und unsichtbaren Daten arbeiten die Objekte schneller, aber das Ausblenden von Daten verhindert diese Verknüpfung.
  • Das Verstecken von Daten kann es einem Programmierer erschweren, und er muss lange Codes schreiben, um Effekte in den verborgenen Daten zu erzeugen.

Daher ist das Verbergen von Daten in Python hilfreich, wenn es um den Datenschutz und die Sicherheit bestimmter Informationen innerhalb der Anwendung geht. Es erhöht die Arbeit für Programmierer und verknüpft versteckte Daten im Code. Aber die Vorteile, die es bietet, sind wirklich unvermeidlich.

Lesen Sie auch: Fragen und Antworten zu Python-Interviews

Fazit

Um kostenlos an unserem Python-Online-Kurs teilzunehmen, müssen Sie nur die folgenden Schritte ausführen:

  • Besuchen Sie unsere upStart-Seite
  • Wählen Sie den Kurs „Python for Data Science“ aus
  • Klicken Sie auf Registrieren
  • Schließen Sie den Registrierungsprozess ab

Das ist es. Sie können Python über unser neu gestartetes upStart-Programm kostenlos online lernen und Ihre Data-Science-Reise beginnen. Sie müssten nur wenige Wochen lang täglich 30 Minuten investieren. Dieses Programm erfordert keine finanzielle Investition.

Melden Sie sich noch heute an und legen Sie los.

Wenn Sie Fragen oder Anregungen zu diesem Thema haben, teilen Sie uns dies bitte in den Kommentaren unten mit. Wir würden uns freuen, von Ihnen zu hören.

Wenn Sie neugierig sind, etwas über Data Science zu lernen, schauen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten, 1 -on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.

Was verstecken Daten in Python?

Das Verbergen von Daten ist eines der Kernkonzepte der objektorientierten Programmierung, das den Zugriff auf die Daten von der Außenwelt einschränkt. Details wie Datenelemente werden mit Hilfe des „Private“-Zugriffsbezeichners verborgen gehalten. Betrachten Sie zum besseren Verständnis das folgende Beispiel.
Angenommen, wir haben eine Klasse namens myClass und ein privates Element namens __privateCounter. Innerhalb dieser Klasse haben wir eine Funktion namens myFunc, die den Wert von __privateCounter um 1 erhöht und ausgibt. Außerhalb der Klasse haben wir ein Objekt der Klasse erstellt und mit diesem Objekt die myFunc aufgerufen. Wenn wir nun versuchen, __privateCounter mit diesem Objekt zu drucken, wird ein Fehler ausgegeben.
Im obigen Beispiel ist „__privateCounter“ standardmäßig ein privates Mitglied der Klasse „myClass“. Da wir darauf Daten versteckt haben, kann außerhalb der Klasse, in der sie deklariert wurde, nicht darauf zugegriffen werden. Um auf die privaten Member zuzugreifen, müssen wir eine Member-Funktion definieren, die in diesem Fall „myFunc“ ist.

Welche Vor- und Nachteile hat Data Hiding?

Obwohl das Verbergen von Daten ein Kernkonzept von OOPs ist und viele Vorteile hat, hat es auch einige Nachteile. Im Folgenden sind einige der wichtigsten Vor- und Nachteile des Verbergens von Daten in Python aufgeführt:
Vorteile
1. Es hilft, den Missbrauch und die Manipulation flüchtiger Daten zu verhindern, indem es sie als privat deklariert.
2. Die Datenmitglieder der Klasse werden von den irrelevanten Daten getrennt.
3. Es isoliert Objekte als Grundkonzept von OOP.
Nachteile
1. Programmierer sind oft gezwungen, lange Codes zu schreiben, um die flüchtigen Daten vor den Clients zu schützen.
2. Die Objekte arbeiten vergleichsweise langsamer, da die Verknüpfung zwischen den sichtbaren und unsichtbaren Daten sie schnell arbeiten lässt und das Verbergen der Daten diese Verknüpfung verhindert.

Wie unterscheidet sich Data Hiding von Data Abstraction?

Das Verbergen von Daten unterstützt die Idee, die Daten einzuschränken, sodass sie nicht von der Außenwelt abgerufen oder geändert werden können. Beispielsweise werden die Gehaltsdetails eines Mitarbeiters vor anderen Mitarbeitern verborgen. In Python wird dies durch die Verwendung des „private access modifier“ erreicht.
Datenabstraktion bezieht sich auf die Idee, die interne Implementierung zu verbergen und nur die Merkmale nach außen zu zeigen. In einem Taschenrechner werden Ihnen beispielsweise nur die vom Taschenrechner ausgeführten Operationen angezeigt. Sie können jedoch die interne Funktionsweise dieser Vorgänge nicht sehen. In Python werden verschiedene Zugriffsbezeichner verwendet, um dies zu implementieren.