Я хочу иметь возможность создать класс (в Python), который после инициализации с помощью __init__
не принимает новые атрибуты, но принимает изменения существующих атрибутов. Есть несколько способов, которые я могу увидеть, например, имея метод __setattr__
, например
def __setattr__(self, attribute, value):
if not attribute in self.__dict__:
print "Cannot set %s" % attribute
else:
self.__dict__[attribute] = value
а затем отредактировав __dict__
непосредственно внутри __init__
, но мне было интересно, есть ли "правильный" способ сделать это?