Zum Hauptinhalt springen

Wie bekomme ich alle Klassenvariablen in Python

Python - eine der beliebtesten und flexibelsten Programmiersprachen der Welt. Eine der mächtigsten Funktionen der Sprache ist die objektorientierte Programmierung (OOP). In der objektorientierten Programmierung werden Klassen verwendet, um Objekte zu erstellen, die Variablen und Methoden enthalten. Manchmal stellt sich die Frage, wie bekomme ich alle Klassenvariablen in Python?

Es gibt mehrere Möglichkeiten, wie Sie auf Klassenvariablen in Python zugreifen können. Aber eine der einfachsten und elegantesten Möglichkeiten besteht darin, die Funktion zu verwenden dir(). Die Funktion dir() gibt eine Liste der Namen zurück, die in einem bestimmten Namespace definiert sind, oder wenn ein Argument angegeben ist, eine Liste der Attribute des angegebenen Objekts. Daher kann es verwendet werden, um eine Liste von Klassenvariablen abzurufen.

Hier ist ein einfaches Beispiel, das die Verwendung der dir() -Funktion zum Abrufen aller Klassenvariablen veranschaulicht:

class MyClass: def __init__(self, x, y, z): self.x = x self.y = y self.z = z my_object = MyClass(1, 2, 3) class_variables = [var for var in dir(MyClass) if not callable(getattr(MyClass, var)) and not var.startswith("__")] print(class_variables)

Durch die Ausführung dieses Codes wird eine Liste der Variablen der MyClass-Klasse angezeigt: ['x', 'y', 'z']. Auf diese Weise erhalten wir alle Klassenvariablen in Python mit der Funktion dir().

Obwohl die Funktion dir() eine einfache und effiziente Möglichkeit ist, alle Klassenvariablen in Python abzurufen, ist es erwähnenswert, dass sie auch alle Klassenmethoden zurückgibt, nicht nur die Variablen. Wenn Sie nur die Klassenvariablen abrufen müssen, können Sie zusätzliche Bedingungen wie die Callable-Überprüfung und die Überprüfung auf das Präfix "__" verwenden.

Methode zum Abrufen aller Klassenvariablen in Python

Python bietet eine bequeme Möglichkeit, alle Klassenvariablen mit einer integrierten Funktion abzurufen vars(). Diese Funktion gibt ein Wörterbuch zurück, das alle Klassenvariablen und ihre Werte enthält.

Um die Funktion zu verwenden vars() es genügt, ihr den Klassennamen als Argument zu übergeben. Zum Beispiel, wenn Sie eine Klasse namens haben MyClass Sie können alle seine Variablen wie folgt abrufen:

class MyClass:def __init__(self):self.variable1 = 10self.variable2 = "Hello, world!"my_object = MyClass()class_variables = vars(MyClass)print(class_variables)

Als Ergebnis der Codeausführung erhalten Sie ein Wörterbuch mit Klassenvariablen:

Daher ist die Funktion vars() ist eine einfache und bequeme Möglichkeit, alle Klassenvariablen in Python abzurufen.

Beispiel für die Verwendung einer Methode zum Abrufen von Klassenvariablen in Python

In Python können Sie die vars() -Methode verwenden, um eine Liste aller Klassenvariablen abzurufen.

Betrachten Sie das folgende Beispiel:

class MyClass:x = 5y = "Hello"my_object = MyClass()variables = vars(my_object)for variable, value in variables.items():print(f" = ")

Das Ergebnis der Ausführung dieses Codes lautet wie folgt:

VariableBedeutung
x5
yHello

Auf diese Weise können Sie mit der vars() -Methode alle Klassenvariablen abrufen und in einem praktischen Format mit ihnen arbeiten.