Re: to thine own SELF be true...

2006-05-05 Thread bruno at modulix
Mark Harrison wrote:
 Is there a way to do something equivalent to import * from self?
(snip)

 Is there a way to get rid of those the self. references,

No.

 or is this
 just something I need to get my brain to accept?

Yes.

And FWIW, from somemodule import * is usually considered bad style.

-- 
bruno desthuilliers
python -c print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in '[EMAIL PROTECTED]'.split('@')])
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: to thine own SELF be true...

2006-05-05 Thread Duncan Booth
Mark Harrison wrote:
 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.c
 md][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?
 
I would wonder why it is that all of those need to be attributes on self. 
Are you sure you aren't storing too many things as attributes?

Trying to guess some context around that code, I would expect something 
like:

def docommand(self, cmd, args):
 opts, longopts = self.cmdopts[cmd]
 optc, args = getopt.getopt(args, opts, longopts)

 return self.getAction(cmd)(optc, args)

or in other words a lot fewer uses of self.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: to thine own SELF be true...

2006-05-05 Thread Larry Bates
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
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: to thine own SELF be true...

2006-05-05 Thread Michael Ekstrand
On Fri, May 05, 2006 at 05:08:24PM +, Mark Harrison wrote:
 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?

It's pretty much just something you'll need to get your brain to accept.
You can replace self with something shorter, like s, but that's sure to
cause mass confusion for other people who try to read your code.

I, however, find that the self. references are a great benefit to
readability, as it makes the scope of a variable quite easy to tell.  A
lot of my C++ code is littered with `this-' or similar
explicit-scope-description things...

- Michael

-- 
mouse, n: a device for pointing at the xterm in which you want to type.
-- Fortune
Visit me on the Web: http://www.elehack.net
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: to thine own SELF be true...

2006-05-05 Thread Paul Watson
Michael Ekstrand wrote:
 On Fri, May 05, 2006 at 05:08:24PM +, Mark Harrison wrote:
 
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?
 
 
 It's pretty much just something you'll need to get your brain to accept.
 You can replace self with something shorter, like s, but that's sure to
 cause mass confusion for other people who try to read your code.
 
 I, however, find that the self. references are a great benefit to
 readability, as it makes the scope of a variable quite easy to tell.  A
 lot of my C++ code is littered with `this-' or similar
 explicit-scope-description things...
 
 - Michael

This fits perfectly with Explicit is better than implicit.
-- 
http://mail.python.org/mailman/listinfo/python-list