Python-Eigenschaft-Funktion

July 2

Objekt orientierte Programmierung (OOP) Sprachen wie Python sind Klassen und Objekte ein integraler Bestandteil, wie die Daten dargestellt werden. Einer der fundamentalen Grundsätze der OOP ist die Integrität der Daten und zur Datensicherheit. Dies ist sehr wichtig für eine Programmiersprache wie Python, die in einer Vielzahl von Software ein- und ausschalten im Web vorhanden ist. Ein Weg, um die Datenintegrität ist die Kontrolle wie Objektdaten mit Benutzer interagiert. Die Funktion "property()" in Python macht genau das.

Klassen und Objekte in Python

Da Python eine objektorientierte Sprache ist, sortiert Python-Programmierer können spezielle Erstellen von Datentypen erstellen "Klassen." Klassen sind die Blaupausen, die die interne Struktur und das Verhalten eines Objekts zu definieren. Nach dem Schreiben einer Klasse, kann Programmierer "instanziieren" (oder erstellen Sie eine Instanz von) eines Objekts. Das folgende Beispiel zeigt eine einfache Klasse und eine Instanziierung eines Objekts der Klasse.

Basic-Klasse: / / class Name

... def Init(selbst): //initializing Funktion implizit aufgerufen, wenn Objekt instanziiert wird

... self.x = 4 //local-Datenmember

... def Write: //member-Methode

... Drucken "Hello"

f = Basic() //f jetzt stellt ein "Basic"-Objekt

Schutz von Daten

Jedes Objekt aus der "Basic"-Klasse enthält ein Datenelement "X", die die ganze Zahl 4 enthalten soll. Ein Programmierer arbeiten mit einem Basisobjekt kann Zugriff auf die Daten in x mit dem "."-Operator, wie im folgenden Beispiel:

f.x

4

Jedoch kann der Benutzer diesen Wert ändern jederzeit genau wie mit jede andere Variable. Dies möglicherweise nicht in allen Fällen wünschenswert; eine Klasse kann wichtige Daten enthalten, die Benutzer nicht ändern sollte. In diesem Fall haben die Datenmember in Python eine Namenskonvention setzen zwei Unterstriche vor dem Membernamen, um Benutzer daran zu hindern, es zu ändern:

Baureihe Basic:

... Def Init(selbst)

... Self.__x = 4 //private-Datenmember

Getter und Setter

Dieses Ausblenden von Daten aus Access wird manchmal als "Kapselung." beschrieben. Daten von Benutzerzugriff versteckt erfordern gelegentlich Manipulation, wie in Fällen, in denen ein Benutzer Klasseninformationen ändern kann, aber nur innerhalb bestimmter Parameter. In diesem Fall schließt der Programmierer "Getter" und "Setter", die den Wert zurück und legen Sie den Wert bzw.. Getter Rückgabewert einfach Abwechslung Wert und Setter der Wahrung der Datenintegrität. Das folgende Beispiel zeigt Beispiel Get- und Set-Funktionen in einer Python-Klasse:

Baureihe Basic:

... Def Init(Sef):

... Self.__x = 4

... Def getX(self):

... Self.__x zurück

... Def SetX (selbst, NeuX):

... wenn NeuX > = 0:

... selbst. __x = NeuX

Die Methode "property()"

Einige Nutzer halte es unhandlich für Benutzer haben, die "f.getx()"-Methode für jede Instanz Daten zuzugreifen erforderlich. Die Syntax "f.x" ist in der Regel günstiger. Die Methode "Eigentum" tut genau dies: es ermöglicht die Programmierer, definieren die Get und set-Methoden (zusammen mit anderen) und binden Sie diese an einfachen Syntax. Die Basic-Klasse als Beispiel nehmen, wird die Methode "Eigenschaft" Benutzerzugriff auf Basisdaten vereinfachen:

... Def getx(self):

... Self.__x zurück

... Def Setx (selbst, NeuX):

... wenn NeuX > = 0:

... Self.__x = NeuX

...-Eigenschaft (Ruft, Setx) //now Benutzer können die __x erhalten mit f.x-Wert, und legen Sie es mit f.x = i