Code block function syntax, anonymous functions decorator

castironpi at gmail.com castironpi at gmail.com
Thu Feb 7 00:06:49 EST 2008


On Feb 6, 4:59 pm, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> castiro... at gmail.com schrieb:
>
>
>
>
>
> > def run3( block ):
> >    for _ in range( 3 ):
> >       block()
>
> > run3():
> >    normal_suite()
>
> > Introduces new syntax; arbitrary functions can follow 'colon'.
>
> > Maintains readability, meaning is consistent.
>
> > Equivalent to:
>
> > def run3( block ):
> >    for _ in range( 3 ):
> >       block()
>
> > @run3
> > def anonfunc():
> >    normal_suite()
>
> > Simplification in cases in which decorators are use often.
>
> This is non-sensical - how do you invoke anonfunc? They would all bind
> to the same name, run3. Or to no name as all, as your "spec" lacks that.
>
> Besides, it's butt-ugly IMHO. But taste comes after proper definition...
>
> Diez- Hide quoted text -
>
> - Show quoted text -

The fallacy here is that @run3 as described is not a typical
decorator, such one that returns a function.  It is called at
"definition"-time, that is, when the function definition is executed,
and executes the code.




More information about the Python-list mailing list