Does PyModule_GetDict return information about class method variables?
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Fri Aug 10 01:43:55 EDT 2007
On Thu, 09 Aug 2007 19:34:37 -0700, MD wrote:
> I have a variable which is defined inside a class method. When I
> call PyModule_GetDict on the module containing this class, the
> dictionary doesn't contain any information about this variable. Is
> this expected behavior? If so, what options do I have to access this
> variable from my Python C extension.
You can't access names in methods because they don't exist until you call
the method. It's just like local variables in C. Consider:
void foo(void)
{
int bar = 42;
}
Here `bar` does not exist until you call `foo()` and it disappears as soon
as the function returns.
It's the very same situation in Python:
class A(object):
def foo(self):
bar = 42
The local name `bar` only exists if `foo()` is called on an instance of `A`.
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list