the annoying, verbose self
samwyse
samwyse at gmail.com
Sun Nov 25 08:28:20 EST 2007
On Nov 24, 1:10 pm, "Patrick Mullen" <saluk64... at gmail.com> wrote:
> If there were a "using" or if the with statement would handle
> something like this, I wouldn't use it. "s." is only 2 characters. I
> saw chained dots mentioned. Chained dots are 2 characters. Why are
> we still discussing this? "s." is the answer, or pulling the
> attributes into local vars if you are going to use them many times, to
> save lookup. This is not a band-aid, this is an actual valid
> programming technique. There is more to programming than typing...
Actually, the chained dots are solving a completely different problem,
that of refactoring a collection of functions that use global vars
into a class.
Although I'm now wondering if I could jigger something together using
globals() to make a top-level self-like object. Hmmm, maybe someting
like this:
>>> class GlobalSelf(object):
def __init__(self):
self.__dict__ = globals()
>>> x = 42
>>> def myfunc(*args):
"something that I may want to refactor later"
s = GlobalSelf()
s.x += 1
>>> x
42
>>> myfunc()
>>> x
43
More information about the Python-list
mailing list