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