Message75336
Christian Heimes wrote:
> Christian Heimes <lists@cheimes.de> added the comment:
>
> Alexandre Vassalotti wrote:
>> Alexandre Vassalotti <alexandre@peadrop.com> added the comment:
>>
>> Could explain me how this feature could be used, other than for
>> providing the efficient and backward-compatible pickling mechanism for
>> new-style classes?
>
> The feature makes it easy to write __reduce__ methods for subclasses of
> builtins. Take this example:
>
> def __newobj__(cls, *args):
> return cls.__new__(cls, *args)
>
> class mydict(dict):
> def __reduce__(self):
> state = (dict(self), self.__dict__)
> return (__newobj__, (self.__class__,), state)
Of course one has to provide a __setstate__ method, too.
def __setstate__(self, state):
dict.update(self, state[0])
self.__dict__.update(state[1]) |
|
Date |
User |
Action |
Args |
2008-10-29 23:40:01 | christian.heimes | set | recipients:
+ christian.heimes, georg.brandl, alexandre.vassalotti |
2008-10-29 23:40:00 | christian.heimes | link | issue3816 messages |
2008-10-29 23:40:00 | christian.heimes | create | |
|