12 lines
271 B
Python
12 lines
271 B
Python
|
class Freezable:
|
||
|
_frozen: bool = False
|
||
|
|
||
|
def freeze(self):
|
||
|
if not self._frozen:
|
||
|
self._frozen = True
|
||
|
|
||
|
def __setattr__(self, *args, **kwargs):
|
||
|
if self._frozen:
|
||
|
raise Exception("cannot modify frozen object")
|
||
|
super().__setattr__(*args, **kwargs)
|