Python delattr()-Funktion

Python3 内置函数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

Erwartete Ausgabe:

{'name': 'Tom', 'age': 20, 'city': 'Beijing'}
{'name': 'Tom', 'city': 'Beijing'}

Codeanalyse:

  1. 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}

Ausgabe:

Mehrere Attribute können dynamisch gelöscht werden.

delattr()Zusammen mithasattr()es ist sicherer zu verwenden.


Python3 内置函数Python3 integrierte Funktionen


Andere Erweiterungen