[Python-Dev] anonymous blocks

Steven Bethard steven.bethard at gmail.com
Thu Apr 21 18:27:22 CEST 2005


Guido van Rossum <gvanrossum at gmail.com> wrote:
> > In case my point about the difference between thunks and other
> > callables (specifically decorators) slipped by, consider the
> > documentation for staticmethod, which takes a callable.  All the
> > staticmethod documentation says about that callable's parameters is:
> >     "A static method does not receive an implicit first argument"
> > Pretty simple I'd say.  Or classmethod:
> >     "A class method receives the class as implicit first argument,
> >      just like an instance method receives the instance."
> > Again, pretty simple.  Why are these simple?  Because decorators
> > generally pass on pretty much the same arguments as the callables they
> > wrap.  My point was just that because thunks don't wrap other normal
> > callables, they can't make such abbreviations.
> 
> You've got the special-casing backwards. It's not thinks that are
> special, but staticmethod (and decorators in general) because they
> take *any* callable. That's unusual -- most callable arguments have a
> definite signature, think of map(), filter(), sort() and Button
> callbacks.

Yeah, that was why I footnoted that most of my use for callables
taking callables was decorators.  But while I don't use map, filter or
Button callbacks, I am guilty of using sort and helping to add a key=
argument to min and max, so I guess I can't be too serious about only
using decorators. ;-)

STeVe
-- 
You can wordify anything if you just verb it.
        --- Bucky Katt, Get Fuzzy


More information about the Python-Dev mailing list