diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index 287a08b90d8..168ef56d3b7 100644 --- a/Doc/library/pickle.rst +++ b/Doc/library/pickle.rst @@ -390,8 +390,9 @@ The following types can be pickled: * classes that are defined at the top level of a module -* instances of such classes whose :attr:`__dict__` or :meth:`__setstate__` is - picklable (see section :ref:`pickle-inst` for details) +* instances of such classes whose :attr:`__dict__` or the result of calling + :meth:`__getstate__` is picklable (see section :ref:`pickle-inst` for + details). Attempts to pickle unpicklable objects will raise the :exc:`PicklingError` exception; when this happens, an unspecified number of bytes may have already @@ -402,8 +403,8 @@ raised in this case. You can carefully raise this limit with Note that functions (built-in and user-defined) are pickled by "fully qualified" name reference, not by value. This means that only the function name is -pickled, along with the name of the module the function is defined in. Neither the -function's code, nor any of its function attributes are pickled. Thus the +pickled, along with the name of the module the function is defined in. Neither +the function's code, nor any of its function attributes are pickled. Thus the defining module must be importable in the unpickling environment, and the module must contain the named object, otherwise an exception will be raised. [#]_