Problem getting to my variables

Steve Holden sholden at holdenweb.com
Tue Aug 21 18:42:39 EDT 2001


"vio" <vmilitaru at sympatico.ca> wrote in message
news:3B772142.81AA45FD at sympatico.ca...
> Newbie question: What's the syntax for accessing a variable in one method
from
> another. Say the two methods:
>
> ----------
> def manage_addFoo(self, id, title, REQUEST=None):
>     . . .
>     A_folder = getattr(base_folder,someID)
>     . . .
>
> def manage_addBar(self, id, REQUEST=None):
>     . . .
>     manage_addFoo.A_folder._setObject(id, BarObject)
>     . . .
>
> ----------
>
> Just to give some context, this is Zope code: in the second method I
simply want
> to add an object to 'A_folder' which is defined in the first method. I
would
> like to know what's the correct syntax (obviously my line 4 is wrong). And
I
> don't want to use 'return A_folder' in manage_addFoo because this method
defines
> many such variables. I just want to selectively get at the 'A_folder' from
> manage_addBar().
>
Well, I suspect your major problem is that (unless you omitted some "global"
statement) the A_folder you bind to in manage_addFoo only exists during the
method call, and is thereafter lost and garbage collected. You might want to
think about making A_folder an attribute of the instance, which you would do
by altering the assignment to:

    self.A_folder = ...

You can then simply refer to it as self.A_folder in the other method.

which-is-why-self-gets-passed-implicitly-ly y'rs  - steve
--
http://www.holdenweb.com/








More information about the Python-list mailing list