(original) (raw)
On Fri, Feb 20, 2009 at 5:27 PM, Nick Coghlan <ncoghlan@gmail.com> wrote:
Brett Cannon wrote:Ah, you may want to think about that a bit more. There's a reason
> If you import pickle and call pickle.A() you will get -13 which is not
> what you are after.
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.
--
Daniel Stutzbach, Ph.D.
President, Stutzbach Enterprises, LLC