On Mon, Oct 29, 2012 at 10:12 AM, andrea crotti <andrea.crott...@gmail.com> wrote: > Also because how doi I make an immutable object in pure Python?
I sometimes use namedtuples for this. from collections import namedtuple MyImmutableClass = namedtuple('MyImmutableClass', 'field1 field2 field3 field4') If you want default arguments then use a factory function. Or if you want the class to have methods, then subclass it: _MyImmutableClass = namedtuple('MyImmutableClass', 'field1 field2 field3 field4') class MyImmutableClass(_MyImmutableClass): def __new__(cls, field1, field2, field3=None, field4=42): return super().__new__(cls, field1, field2, field3, field4) def get_sum(self): return self.field1 + self.field2 Cheers, Ian -- http://mail.python.org/mailman/listinfo/python-list