This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020年08月14日 04:57 by youkaichao, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg375369 - (view) | Author: youkaichao (youkaichao) * | Date: 2020年08月14日 04:57 | |
According to the doc ( https://docs.python.org/3/library/pickle.html#object.__getstate__ ), an object may not have a __getstate__ method. During pickling and unpickling, python first finds __getstate__ and __setstate__, which may invoke a customed __getattr__. I think this is unnecessary if python just provides a default implementation for __getstate__ / __setstate__ . An additional benefit of this is that __setstate__ and __getstate__ becomes available for every object and it is possible to do something like ``getstate(obj)``. For people who customize __getattr__, I think no one intends to deal with ``obj.__getattr__("__getstate__")``, so it makes sense not to invoke ``__getattr__`` during pickling and unpickling. |
|||
| msg375372 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2020年08月14日 06:25 | |
This is virtually a duplicate of isssue26579. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:34 | admin | set | github: 85719 |
| 2020年08月14日 06:25:45 | serhiy.storchaka | set | status: open -> closed superseder: Support pickling slots in subclasses of common classes nosy: + serhiy.storchaka messages: + msg375372 resolution: duplicate stage: resolved |
| 2020年08月14日 04:57:50 | youkaichao | create | |