Beispiel für eine Python-Klasse

Python ist eine objektorientierte Programmiersprache, die es Programmierern ermöglicht, Objekte zu definieren, die Daten enthalten können. Mit Python-Variablen können Sie bestimmte Werte in einem Programm speichern.

Wenn Sie mit Objekten in Python arbeiten, gibt es zwei Arten von Variablen Sie können auf Instanzvariablen und Klassenvariablen stoßen. Aber was bedeuten diese Arten von Variablen und wie funktionieren sie?

Das ist die Frage, die wir in diesem Leitfaden beantworten. In diesem Tutorial werden anhand von Beispielen die Grundlagen von Klassen- und Instanzvariablen und deren Verwendung in Python-Objekten untersucht.

Python-Klassenvariablen

Eine Python-Klassenvariable wird von allen Objektinstanzen einer Klasse gemeinsam genutzt. Klassenvariablen werden bei der Konstruktion einer Klasse deklariert. Sie sind in keiner Methode einer Klasse definiert.

Da eine Klassenvariable von Instanzen einer Klasse gemeinsam genutzt wird, besitzt die Python-Klasse Die Variable. Dadurch können alle Instanzen der Klasse auf diese Variable zugreifen. Klassenvariablen werden von allen Instanzen geteilt, die auf die Klasse zugreifen.

Hier ist ein Beispiel fur eine Klassenvariable in Python:

In diesem Beispiel deklarieren wir eine Klassenvariable namens menu_type. Diese Klassenvariable wird der Klasse Espresso zugewiesen.

Klassenvariablen sind nutzlich, da Sie mit ihnen eine Variable deklarieren können, wenn eine Klasse erstellt wurde, die dann später in Ihrer Klasse verwendet werden kann.

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Wie normale Variablen auch Klassenvariablen kann Daten aller Art speichern. Wir könnten also ein Python-Wörterbuch speichern, ein Python tuple oder eine Python-Liste in einer Klassenvariablen.

Zugriff auf eine Klassenvariable in Python

Da wir nun eine Klassenvariable deklariert haben, können wir darauf zugreifen, wenn wir ein Objekt unserer Klasse erstellen. Wenn wir also eine neue Klasseninstanz erstellen und den Wert der Variablen menu_type sehen möchten, könnten wir diesen Code verwenden:

Unser Code gibt zuruck: Drink.

In unserem Code definieren wir zuerst eine Klasse, die eine Klassenvariable hat: menu_type. Dann erstellen wir eine Instanz unserer Klasse. Diese Instanz heißt espresso_order.

Um den Wert der Variablen menu_type in unserer Klasse zu sehen, verwenden wir die Punktnotation. Dies ist der Name der Klasse, gefolgt von einem Punkt. Dann geben wir den Namen der Klassenvariablen an, die Sie lesen möchten. Dies fuhrt dazu, dass unser Programm Drink zuruckgibt.

Da unsere Klassenvariable mit einer Klasse verknupft ist, mussen wir nicht einmal eine Instanz unserer Klasse deklarieren, um ihren Wert zu sehen. Mit dem folgenden Code können wir den Wert unserer Klassenvariablen menu_type sehen:

Unser Code gibt zuruck: Drink. In diesem Beispiel verwenden wir die Punktnotation, um auf den Wert der Variablen menu_type in unserer Espresso-Klasse zuzugreifen. Im Gegensatz zu unserem vorherigen Beispiel deklarieren wir keine Instanz unserer Klasse.

Klassenvariablen können ebenso wie jeder andere Variablentyp geändert werden. Dazu können Sie diesen Code verwenden:

Unser Code gibt zuruck: Kaffee. In diesem Beispiel haben wir eine Instanz unserer Klasse namens espresso_order deklariert. Dann weisen wir den Wert der Klassenvariablen espresso_order.menu_type gleich Kaffee zu. Dadurch ändert sich der Wert der Variablen.

Wir geben den neuen Wert der Variablen menu_type mit einer Python-Druckanweisung an die Konsole aus .

Python-Instanzvariablen

Python-Instanzvariablen gehören einer Instanz einer Klasse. Der Wert einer Instanzvariablen kann je nach der Instanz, der die Variable zugeordnet ist, unterschiedlich sein.

Das bedeutet, dass der Wert jeder Instanzvariablen sein kann. Dies ist anders als bei einer Klassenvariablen, bei der die Variable nur einen Wert haben kann, den Sie zuweisen. Instanzvariablen werden innerhalb einer Klassenmethode deklariert.

Hier ist ein Beispiel fur zwei Instanzvariablen in Python:

In diesem Beispiel Kaffeename und Preis sind Instanzvariablen, die innerhalb unserer Klasse existieren.

Zuweisen von Werten zu einer Instanzvariablen in Python

Wir können einer Instanzvariablen Werte zuweisen, wenn wir eine Klasse deklarieren. Wir tun dies, indem wir die Werte angeben, die wir als Argumente zuweisen möchten, wenn wir die Klasse deklarieren. Angenommen, wir möchten eine Instanz unserer Klasse mit den folgenden Werten erstellen:

  • coffee_name = "Espresso‚"
  • Preis = 2,10

Wir könnten diese Instanz mit dem folgenden Code erstellen:

Unser Code gibt Folgendes zuruck:

Lassen Sie uns unseren Code aufschlusseln. Zuerst deklarieren wir eine Klasse namens CoffeeOrder. Diese Klasse hat zwei Instanzvariablen: Kaffeename und Preis.

"Karriere-Karma trat in mein Leben ein, als ich es am dringendsten brauchte und half mir schnell bei einem Bootcamp. Zwei Monate nach meinem Abschluss habe ich meinen Traumjob gefunden, der meinen Werten und Lebenszielen entspricht!"

Venus, Software Engineer bei Rockbot

Wir erstellen eine neue Instanz unserer Klasse namens customer_order. Dann weisen wir Espresso den Wert der Variablen coffee_name zu und den Wert von price bis 2.10. In der nächsten Codezeile geben wir den Wert der Variablen coffee_name in Punktnotation aus. Dann geben wir den Wert der price-Variable.

Die in unserer Klasse gespeicherten Werte sind diejenigen, die wir ubergeben haben, als wir unsere Variable customer_order deklariert haben. Diese Variable ist eine Instanz unserer Klasse.

Variablen mit mehreren Instanzen einer Python-Klasse verwenden

Um Klassen- und Instanzvariablen besser zu unterscheiden, betrachten Sie das folgende Beispiel einer Python Klassenkonstruktor (auch als Init-Methode bekannt):

Unser Code gibt zuruck:

In diesem Beispiel haben wir zwei Instanzen unserer Klasse definiert : lucas_order und paulina_order. Jede dieser Instanzen hat ihre eigenen Werte fur die Instanzvariablen Kaffeename und Preis.

Wie Sie sehen können, drucken wir Lucas’ Bestelldetails an die Konsole werden die Werte Espresso und 2.10 zuruckgegeben. Wenn wir Paulinas Bestelldetails an die Konsole ausgeben, werden die Werte Latte und 2.75 zuruckgegeben.

Dies zeigt einen der Hauptunterschiede zwischen Instanz- und Klassenvariablen in Aktion: Instanzvariablen können fur jede Instanz der Klasse unterschiedliche Werte haben, während Klassenvariablen fur alle Instanzen gleich sind.

Python-Klassenvariablen im Vergleich zu Instanzvariablen.

Python-Klassenvariablen werden innerhalb einer Klasse deklariert und ihre Werte sind fur alle Instanzen einer Klasse gleich. Python-Instanzvariablen können uber mehrere Instanzen einer Klasse hinweg unterschiedliche Werte haben.

Klassenvariablen haben fur alle Instanzen der Klasse denselben Wert. Der Wert von Instanzvariablen kann sich bei jeder Instanz einer Klasse unterscheiden.

Klassenvariablen können nur zugewiesen werden, wenn eine Klasse definiert wurde. Instanzvariablen hingegen können jederzeit zugewiesen oder geändert werden.

Sowohl Klassenvariablen als auch Instanzvariablen speichern einen Wert in einem Programm, wie alle anderen auch Python-Variable.

Um mehr uber Python zu erfahren, lesen Sie unsere vollständige Anleitung zum Erlernen von Python.