[Python-Dev] Choosing a best practice solution for Python/extension modules
Nick Coghlan
ncoghlan at gmail.com
Sat Feb 21 00:54:03 CET 2009
Daniel Stutzbach wrote:
> On Fri, Feb 20, 2009 at 5:27 PM, Nick Coghlan <ncoghlan at gmail.com
> <mailto:ncoghlan at gmail.com>> wrote:
>
> Brett Cannon wrote:
> > If you import pickle and call pickle.A() you will get -13 which is not
> > what you are after.
>
> Ah, you may want to think about that a bit more. There's a reason
> globals are looked up when they're used rather than when their function
> is defined. Even in your own example, _B isn't defined at all when you
> define A.
>
>
> No, I'm afraid Brett is quite right. Globals are looked up when the
> function is executed, true, but they are looked up within the module
> that defined the function. Functions defined in _pypickle would only
> call the _pypickle version of functions.
Oh, I see what you mean now. Looks like Brett's tracked substitution may
be the way to go then.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
More information about the Python-Dev
mailing list