Thanks for your responses, Martin!
Martin v. Löwis wrote:
> Bruce Christensen wrote:
> > - Where are object.__reduce__ and object.__reduce_ex__ defined, and how
> > does copy_reg._reduce_ex fit into the picture?
>
> See
>
> http://docs.python.org/lib/node69.html
So just to be clear, is it something like this?
class object:
def __reduce__(self):
return copy_reg._reduce_ex(self, -1)
def __reduce_ex__(self, protocol):
return copy_reg._reduce_ex(self, protocol)
Does _reduce_ex's behavior actually change depending on the specified protocol
version? The only difference that I can see or think of is that an assert
causes it to fail if the protocol is >= 2.
> > - What does copy_reg.constructor() do?
>
> It does this:
>
> def constructor(object):
> if not callable(object):
> raise TypeError("constructors must be callable")
So it is part of the public interface? It's exported in __all__, but it appears
that it's undocumented.
Thanks,
--Bruce
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com