On Wed, Nov 26, 2014 at 9:46 PM, Kasper Peeters <kas...@phi-sci.com> wrote:
> I agree that in this example that would be the natural thing to do.
> My case is more tricky though: I have something like
>
>     def fun():
>        cfun_that_creates_q_in_local_scope()
>        def fun2():
>            cfun_that_wants_to_see_if_q_is_available()
>
> So the Python side actually doesn't see 'q' directly at all.
>
> I am willing to elaborate on this if you want (I have fairly good
> reasons to do things this way, mostly having to do with historical
> constraints of an older C library that I cannot avoid), but it
> requires more space.
>

To be honest, that's just made it even more weird :) You're creating
something in a local namespace that the Python compiler isn't aware
of.

I wonder, would a 'nonlocal q' declaration inside fun2 affect things any?

Otherwise, maybe there's some completely different way to transfer
information around. Using locals in this way seems fraught with peril.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to