[Python-Dev] Definining properties - a use case for class decorators?

Josiah Carlson jcarlson at uci.edu
Wed Oct 19 21:46:12 CEST 2005


skip at pobox.com wrote:
> 
> >>>>> "Phillip" == Phillip J Eby <pje at telecommunity.com> writes:
> 
>     Phillip> At 11:43 AM 10/19/2005 -0500, skip at pobox.com wrote:
>     >> >> <callable> <name> <tuple>:
>     >> >>     <definitions>
>     >> ...
>     >> 
>     Steve> Wow, that's really neat.  And you save a keyword! ;-)
>     >> 
>     >> Two if you add a builtin called "function" (get rid of "def").
> 
>     Phillip> Not unless the tuple is passed in as an abstract syntax tree or
>     Phillip> something.
> 
> Hmmm...  Maybe I misread something then.  I saw (I think) that
> 
>     type Foo (base):
>         def __init__(self):
>             pass
> 
> would be equivalent to
> 
>     class Foo (base):
>         def __init__(self):
>             pass
> 
> and thought that
> 
>     function myfunc(arg1, arg2):
>         pass
> 
> would be equivalent to
> 
>     def myfunc(arg1, arg2):
>         pass
> 
> where "function" a builtin that when called returns a new function.

For it to work in classes, it would need to execute the body of the
class, which is precisely why it can't work with functions.

 - Josiah



More information about the Python-Dev mailing list