immutability is not strictly the same as having an unchangeable value, it is more subtle
On Thu, Apr 18, 2019 at 6:16 PM Gregory Ewing
<greg.ewing at canterbury.ac.nz> wrote:
> Arup Rakshit wrote:
> > What protocols I need to
> > learn, to define a custom immutable class ?
> That depends on how strictly you want to enforce immutability.
> The easiest thing is not to enforce it at all and simply refrain
> from mutating it. This is very often done.
> You can provide some protection against accidental mutation
> by using properties
Another reasonably easy way to make a custom immutable class is to
make use of namedtuple. You can subclass a namedtuple to add methods
to it, for instance.