If you want to create your own immutable class, maybe inherit from a namedtuple?
On Wed, Nov 21, 2018 at 11:45 AM Iwo Herka <iwohe...@gmail.com> wrote: > Hello, > > Let's say I want to implement immutability for user-defined class. > More precisely, a class that can be modified only in its (or its > super-class') __init__ method. My initial idea was to do it the > following fashion: > > def __setattr__(self, *args, **kwargs): > if sys._getframe(1).f_code.co_name == '__init__': > return super().__setattr__(*args, **kwargs) > raise AttributeError() > > What do you think of this approach? Is there a better one? > Thanks. > > Sincerely, > Iwo Herka > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list