In article 
<calwzidk3e353cnuuqpwr-4rromx7c9dbzapawurern9uzyu...@mail.gmail.com>,
 Ian Kelly <ian.g.ke...@gmail.com> wrote:

> On Tue, May 8, 2012 at 1:19 PM, Russell E. Owen <ro...@uw.edu> wrote:
> > In article <rowen-df116b.12542704052...@news.gmane.org>,
> >  "Russell E. Owen" <ro...@uw.edu> wrote:
> >
> >> What is the sequence of calls when unpickling a class with __setstate__?
> 
> I believe it just calls object.__new__ followed by
> yourclass.__setstate__.  So at the point __setstate__ is called, you
> have a pristine instance of whatever class you're unpickling.

I was wondering. I override __new__ (and __init__) to print messages and 
was quite surprised to only see __new__being called when the object was 
first created, not when it was being unpickled. But maybe there's 
something funny about my override that caused unpickle to ignore it and 
use the default version. I hope so. I can't see how the object could be 
constructed during unpickle without calling __new__. But that's one 
reason I was curious about the unpickling sequence of operations.

-- Russell

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to