Statische Klassenvariablen in Python
-
Verwenden Sie die
staticmethod()
, um statische Variablen in Python zu definieren -
Verwenden Sie die
@staticmethod
, um statische Variablen in Python zu definieren
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 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