[Python-checkins] cpython: Issue #24164: Document changes to __getnewargs__ and __getnewargs_ex__.
serhiy.storchaka
python-checkins at python.org
Tue Oct 13 14:27:20 EDT 2015
https://hg.python.org/cpython/rev/de982d8b7b15
changeset: 98728:de982d8b7b15
user: Serhiy Storchaka <storchaka at gmail.com>
date: Tue Oct 13 21:26:35 2015 +0300
summary:
Issue #24164: Document changes to __getnewargs__ and __getnewargs_ex__.
files:
Doc/library/pickle.rst | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst
--- a/Doc/library/pickle.rst
+++ b/Doc/library/pickle.rst
@@ -488,7 +488,7 @@
.. method:: object.__getnewargs_ex__()
- In protocols 4 and newer, classes that implements the
+ In protocols 2 and newer, classes that implements the
:meth:`__getnewargs_ex__` method can dictate the values passed to the
:meth:`__new__` method upon unpickling. The method must return a pair
``(args, kwargs)`` where *args* is a tuple of positional arguments
@@ -500,15 +500,22 @@
class requires keyword-only arguments. Otherwise, it is recommended for
compatibility to implement :meth:`__getnewargs__`.
+ .. versionchanged:: 3.6
+ :meth:`__getnewargs_ex__` is now used in protocols 2 and 3.
+
.. method:: object.__getnewargs__()
- This method serve a similar purpose as :meth:`__getnewargs_ex__` but
- for protocols 2 and newer. It must return a tuple of arguments ``args``
- which will be passed to the :meth:`__new__` method upon unpickling.
+ This method serve a similar purpose as :meth:`__getnewargs_ex__`, but
+ supports only positional arguments. It must return a tuple of arguments
+ ``args`` which will be passed to the :meth:`__new__` method upon unpickling.
- In protocols 4 and newer, :meth:`__getnewargs__` will not be called if
- :meth:`__getnewargs_ex__` is defined.
+ :meth:`__getnewargs__` will not be called if :meth:`__getnewargs_ex__` is
+ defined.
+
+ .. versionchanged:: 3.6
+ Before Python 3.6, :meth:`__getnewargs__` was called instead of
+ :meth:`__getnewargs_ex__` in protocols 2 and 3.
.. method:: object.__getstate__()
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list