Python delattr()-Funktion
Python3 integrierte Funktionen
delattr()ist eine integrierte Funktion in Python, die zum Löschen von Objektattributen verwendet wird.
delattr()Sie kann das angegebene Attribut eines Objekts löschen. Ähnlich wiedeldie del-Anweisung, ermöglicht jedoch das dynamische Angeben des zu löschenden Attributs über eine Zeichenkette.
Wortdefinitionen: delattr 是 delete attribute(删除属性)的缩写。
Grundlegende Syntax und Parameter
Syntaxformat
delattr(object, name)
Parameterbeschreibung
- Parameter object:
- Typ: Beliebiges Objekt
- Beschreibung: Das Objekt, dessen Attribut gelöscht werden soll.
- Parametername:
- Typ: String
- Beschreibung: Der Name des Attributs, das gelöscht werden soll.
Funktionsbeschreibung
- Rückgabewert: Kein Rückgabewert.
- Ausnahme: Wenn das Attribut nicht existiert, wird ein AttributeError ausgelöst.
Beispiele
Beispiel 1: Grundlegende Verwendung
Beispiel
class Person:
def __init__(self):
self.name = "Tom"
self.age = 20
self.city = "Beijing"
p = Person()
print(vars(p))
# Ausgabe: {'name': 'Tom', 'age': 20, 'city': 'Beijing'}
# Attribut löschen
delattr(p, "age")
print(vars(p))
# Ausgabe: {'name': 'Tom', 'city': 'Beijing'}
# Entspricht del p.age
def __init__(self):
self.name = "Tom"
self.age = 20
self.city = "Beijing"
p = Person()
print(vars(p))
# Ausgabe: {'name': 'Tom', 'age': 20, 'city': 'Beijing'}
# Attribut löschen
delattr(p, "age")
print(vars(p))
# Ausgabe: {'name': 'Tom', 'city': 'Beijing'}
# Entspricht del p.age
Erwartete Ausgabe:
{'name': 'Tom', 'age': 20, 'city': 'Beijing'}
{'name': 'Tom', 'city': 'Beijing'}
Codeanalyse:
- delattr(p, "age") ist äquivalent zu del p.age.
Beispiel 2: Dynamisches Löschen
Beispiel
class Data:
def __init__(self):
self.a = 1
self.b = 2
self.c = 3
d = Daten()
print(vars(d))
# Attribute dynamisch löschen
attrs_to_delete = ["a", "c"]
for attr in attrs_to_delete:
if hasattr(d, attr):
delattr(d, attr)
print(vars(d)) # Ausgabe: {'b': 2}
def __init__(self):
self.a = 1
self.b = 2
self.c = 3
d = Daten()
print(vars(d))
# Attribute dynamisch löschen
attrs_to_delete = ["a", "c"]
for attr in attrs_to_delete:
if hasattr(d, attr):
delattr(d, attr)
print(vars(d)) # Ausgabe: {'b': 2}
Ausgabe:
Mehrere Attribute können dynamisch gelöscht werden.
delattr()Zusammen mithasattr()es ist sicherer zu verwenden.
Python3 integrierte Funktionen
Andere Erweiterungen