[Python-Dev] method decorators (PEP 318)
Phillip J. Eby
pje at telecommunity.com
Fri Mar 26 15:42:11 EST 2004
At 02:10 PM 3/26/04 -0600, Skip Montanaro wrote:
>Except in extreme cases (PEAK sort of sounds like it might
>be one), most functions will be of the current type.
This is true even in PEAK. 'binding.Make' is used most often to wrap
short, simple lambda: functions, rather than lengthy 'def' suites, and
'events.taskFactory' is only used to wrap functions that will be run as
pseudothreads in asynchronous, event-driven code. 'binding.classAttr' is
really a wizard-level thing for framework builders, and so isn't seen in
app-level code at all.
It's actually *much* more common to use *class* decorators in PEAK,
actually, since they're used to declare interfaces and security, e.g.:
class Something(binding.Component):
protocols.advise(
instancesImplement=[ISomething]
)
security.declare(
someAttr=SomePermission,
otherAttr=OtherPermission
)
...
So, if the PEP 318 class decorator syntax were available, these would move
into an explicit declaration block, rather than just being inline function
calls.
More information about the Python-Dev
mailing list