What use is '__reduce__'?

Robert rxjwg98 at gmail.com
Fri Jan 8 11:42:41 EST 2016


Hi,

When I try to run the following code:



/////
from collections import Counter, OrderedDict

class OrderedCounter(Counter, OrderedDict):
     'Counter that remembers the order elements are first seen'
     def __repr__(self):
         return '%s(%r)' % (self.__class__.__name__,
                            OrderedDict(self))
     def __reduce__(self):
         return self.__class__, (OrderedDict(self),)

oc = OrderedCounter('abracadabra') 
-----

I don't know the use of '__reduce__', even I look it up on Python website.
On that website, it explains 'pickle' module:
https://docs.python.org/2/library/pickle.html

But the above example without import that module. Is it from built-in?
Anyhow, I don't find a built-in explanation about '__reduce__'.

What use of the above two new self methods are in class OrderedCounter?

Thanks,





More information about the Python-list mailing list