Ethan Furman added the comment:

The version 2 docs:
http://docs.python.org/2/library/pickle.html#object.__reduce_ex__:
-------------------------------------------------------------------------
The object class implements both __reduce__() and __reduce_ex__();
however, if a subclass overrides __reduce__() but not __reduce_ex__(),
the __reduce_ex__() implementation detects this and calls __reduce__().
-------------------------------------------------------------------------

The current docs may say the same thing, but much less clearly:
http://docs.python.org/dev/library/pickle.html#object.__reduce_ex__:
-------------------------------------------------------------------------
Alternatively, a __reduce_ex__() method may be defined. The only
difference is this method should take a single integer argument, the
protocol version. When defined, pickle will prefer it over the
__reduce__() method. In addition, __reduce__() automatically becomes
a synonym for the extended version. The main use for this method is to
provide backwards-compatible reduce values for older Python releases.
-------------------------------------------------------------------------

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20534>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to