Statische Klassenvariablen in Python

Lakshay Kapoor 30 Januar 2023
  1. Verwenden Sie die staticmethod(), um statische Variablen in Python zu definieren
  2. Verwenden Sie die @staticmethod, um statische Variablen in Python zu definieren
Statische Klassenvariablen in Python

Eine statische Variable in Python ist eine Variable, die innerhalb einer definierten Klasse, aber nicht in einer Methode deklariert wird. Diese Variable kann über die Klasse aufgerufen werden, in der sie definiert ist, jedoch nicht direkt. Eine statische Variable wird auch als Klassenvariable bezeichnet. Diese Variablen sind auf die Klasse beschränkt, sodass sie den Zustand eines Objekts nicht ändern können.

Dieses Tutorial zeigt verschiedene Möglichkeiten zum Definieren statischer Variablen in Python.

Verwenden Sie die staticmethod(), um statische Variablen in Python zu definieren

Die staticmethod() in Python ist eine eingebaute Funktion, die verwendet wird, um eine statische Variable für eine bestimmte Funktion zurückzugeben.

Diese Methode gilt heute als eine alte Methode zur Definition einer statischen Variablen in Python.

Beispiel:

class StaticVar:
    def random(text):

        print(text)
        print("This class will print random text.")


StaticVar.random = staticmethod(StaticVar.random)

StaticVar.random("This is a random class.")

Ausgabe:

This is a random class.
This class will print random text.

Hier erstellen wir zunächst eine Klasse namens StaticVar. Im Programm deklarieren wir eine Variable namens random als statische Variable ausserhalb der Klasse mit der Funktion staticmethod(). Dadurch können wir random() direkt mit der Klasse StaticVar aufrufen.

Verwenden Sie die @staticmethod, um statische Variablen in Python zu definieren

@staticmethod ist eine moderne und am häufigsten verwendete Methode, um eine statische Variable zu definieren. Die @staticmethod ist ein eingebauter Dekorator in Python. Ein Dekorator ist ein entworfenes Muster in Python, das verwendet wird, um einem bereits vorhandenen Objekt eine neue Funktionalität zu verleihen, ohne seine ursprüngliche Struktur zu ändern. Der Dekorator @staticmethod wird also verwendet, um eine statische Variable innerhalb einer Klasse in Python zu definieren.

Beispiel:

class StaticVar:
    @staticmethod
    def random(text):
        # show custom message
        print(text)
        print("This class will print random text.")


StaticVar.random("This is a random class.")

Ausgabe:

This is a random class.
This class will print random text.

Beachten Sie, dass der Dekorator @staticmethod definiert wird, bevor die statische Variable random definiert wird. Aus diesem Grund können wir die Variable random am Ende einfach über die Klasse StaticVar aufrufen.

Beachten Sie auch, dass wir in beiden Methoden nicht das Argument self verwenden, das verwendet wird, um auf die Funktionsattribute und Methoden zuzugreifen, während die Variable random definiert wird. Dies liegt daran, dass statische Variablen niemals durch Objekte funktionieren.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Verwandter Artikel - Python Class