to thine own SELF be true...

Larry Bates larry.bates at websafe.com
Fri May 5 13:51:13 EDT 2006


Mark Harrison wrote:
> Is there a way to do something equivalent to "import * from self"?
> Perhaps I'm doing something wrong, but I'm having a headache
> when dealing with class instance data, forgetting to always
> put the "self." prefix
> 
> For example, in my brain I'm thinking:
> 
>         optc,args=getopt.getopt(args,cmdopts[cmd][0], cmdopts[cmd][1])
> 
> but I'm having to type:
> 
>         self.optc,self.args=getopt.getopt(self.args,self.cmdopts[self.cmd][0],
>                                                     self.cmdopts[self.cmd][1])
> 
> 
> Is there a way to get rid of those the "self." references, or is this
> just something I need to get my brain to accept?
> 
> Many TIA,
> Mark
> 

The ones without "self." in front of them will die when you leave
the method (e.g. sort of like local variables in a function).  If
you want them to be instance attributes the "self." is required.
Now if you use them a lot you can create shortcuts inside the
method.  The lack of "self." is how python knows if this is
a temporary local variable (lasts until the method is exited) or
an instance attribute that lasts across methods.  Hopefully this
will help.

-Larry



More information about the Python-list mailing list