Python built-in Funktion setattr()
Aus der Python 3 Dokumentation
Dies ist das Gegenstück zu getattr(). Die Argumente sind ein Objekt, ein String und ein beliebiger Wert. Der String kann ein vorhandenes Attribut oder ein neues Attribut benennen. Die Funktion weist dem Attribut den Wert zu, sofern das Objekt dies zulässt. Zum Beispiel ist setattr(x, 'foobar', 123) äquivalent zu x.foobar = 123.
Einführung
Die Funktion setattr() ist eine eingebaute Python-Funktion, mit der Sie den Wert eines Attributs eines Objekts festlegen können. Sie benötigt drei Argumente: das Objekt, den Namen des Attributs (als String) und den Wert, den Sie diesem Attribut zuweisen möchten.
Dies ist besonders nützlich, wenn der Attributname dynamisch zur Laufzeit bestimmt wird. Anstatt der Punktnotation (object.attribute = value), die erfordert, dass Sie den Attributnamen im Voraus kennen, können Sie mit setattr() eine Variable verwenden.
Beispiele
Hier sehen Sie, wie Sie setattr() verwenden können, um Attribute hinzuzufügen oder zu ändern:
class Person:
name = "John"
p = Person()
# Setze das Attribut 'age' auf 30
setattr(p, 'age', 30)
print(p.age)
# Ändere das Attribut 'name'
setattr(p, 'name', 'Jane')
print(p.name)
30
Jane