Python vars() Funktion
Python3 integrierte Funktionen
vars()ist eine in Python eingebaute Funktion zum Zurückgeben des Wörterbuchs eines Objekts__dict__Attribute hinzu.
vars()Gibt ein Wörterbuch mit allen beschreibbaren Attributen des Objekts zurück. Für Objekte, denen__dict__ein __dict__ fehlt, wird eine TypeError-Ausnahme ausgelöst.
Wortdefinitionen: vars 是 variables(变量)的缩写。
Grundlegende Syntax und Parameter
Syntaxformat
vars(object)
Parameterbeschreibung
- Parameter object:
- Typ: Beliebiges Objekt
- Beschreibung: Das Objekt, dessen Attribute abgerufen werden sollen.
Funktionsbeschreibung
- Rückgabewert: gibt das
__dict____dict__-Wörterbuch des Objekts zurück. - Hinweis: Wenn es ohne Argumente aufgerufen wird, ist es äquivalent zu locals()
locals()。
Beispiele
Beispiel 1: Anzeigen von Objektattributen
Beispiel
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Tom", 20)
# __dict__ des Objekts anzeigen
print(vars(p))
# Ausgabe: {'name': 'Tom', 'age': 20}
# Zugriff auf das Dictionary
print(vars(p)["name"]) # Ausgabe: Tom
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Tom", 20)
# __dict__ des Objekts anzeigen
print(vars(p))
# Ausgabe: {'name': 'Tom', 'age': 20}
# Zugriff auf das Dictionary
print(vars(p)["name"]) # Ausgabe: Tom
Erwartete Ausgabe:
{'name': 'Tom', 'age': 20}
Tom
Codeanalyse:
- vars() gibt ein Dictionary der Instanzattribute des Objekts zurück.
- Auf Attribute kann direkt über das Dictionary zugegriffen werden.
Beispiel 2: Modul- und Klassen-__dict__
Beispiel
# Das __dict__ des Moduls
import os
print(len(vars(os))) # Ausgabe: die Anzahl der Attribute des os-Moduls
# Das __dict__ der Klasse (ohne Instanzattribute)
class MyClass:
class_attr = 100
def __init__(self):
self.instance_attr = 200
print(vars(MyClass))
# Ausgabe: {'__module__': '__main__', 'class_attr': 100, '__init__': ...}
import os
print(len(vars(os))) # Ausgabe: die Anzahl der Attribute des os-Moduls
# Das __dict__ der Klasse (ohne Instanzattribute)
class MyClass:
class_attr = 100
def __init__(self):
self.instance_attr = 200
print(vars(MyClass))
# Ausgabe: {'__module__': '__main__', 'class_attr': 100, '__init__': ...}
Ausgabe:
vars() ist sehr hilfreich, um die Struktur von Objekten zu verstehen.
vars()Es wird häufig zum Debuggen und für den dynamischen Attributzugriff verwendet.
Python3 integrierte Funktionen
Andere Erweiterungen