Named code blockes
Bernhard Herzog
bh at intevation.de
Tue Apr 24 04:50:19 EDT 2001
"Alex Martelli" <aleaxit at yahoo.com> writes:
> <James_Althoff at i2.com> wrote in message
> news:mailman.988052255.6016.python-list at python.org...
> > Now suppose the call to collection.do(xxx) is in the middle of a
> > very long class def.
>
> OK, let's suppose that.
>
> > Then I have to put the doThisAndDoThatToItem
> > def before the class or after the class thereby separating the definition
> > from its one and only use by possibly hundreds of lines of
> > code. This is not nice for readability. Or I have to define
> > doThisAndDoThatToItem
> > as a method in my class which clutters my class with an unnecessary
> > method.
>
> Ah, I see, you're in the one and only case in Python where you
> can't just immediately def a function for your purpose, because
> doing that would magically make it into a method -- smack in
> the middle of a class body.
Well, during the execution of the class statement the function is not
yet a method:
>>> class C:
... def f(self):
... print self
... print type(f)
...
<type 'function'>
and you can get rid of f with del afterwards:
>>> class C:
... def f(self):
... print self
... f(1)
... del f
...
1
>>>
Bernhard
--
Intevation GmbH http://intevation.de/
Sketch http://sketch.sourceforge.net/
MapIt! http://mapit.de/
More information about the Python-list
mailing list