Vorbeugen Sie vor, dass neue Attribute außerhalb von __init __ @ erstellt werde
Ich möchte in der Lage sein, eine Klasse (in Python) zu erstellen, die einmal mit @ initialisiert wurd__init__
akzeptiert keine neuen Attribute, akzeptiert jedoch Änderungen an vorhandenen Attributen. Es gibt verschiedene Möglichkeiten, dies zu tun, zum Beispiel ein__setattr__
Methode wie
def __setattr__(self, attribute, value):
if not attribute in self.__dict__:
print "Cannot set %s" % attribute
else:
self.__dict__[attribute] = value
und dann bearbeiten__dict__
direkt in__init__
, aber ich habe mich gefragt, ob es einen "richtigen" Weg gibt, dies zu tun?