[Python-Dev] [Python-checkins] peps: Add PEP 422: Dynamic Class Decorators (original) (raw)

Terry Reedy tjreedy at udel.edu
Tue Jun 5 18:42:38 CEST 2012


On 6/5/2012 8:09 AM, nick.coghlan wrote:

Add PEP 422: Dynamic Class Decorators

+Iterating over decorator entries in reverse order +------------------------------------------------- + +This order was chosen to match the layout of lexical decorators when +converted to ordinary function calls. Just as the following are equivalent:: + + @deco2 + @deco1 + class C: + pass + + class C: + pass + C = deco2(deco1(C)) + +So too will the following be roughly equivalent (aside from inheritance):: + + class C: + decorators = [deco2, deco1]

I think you should just store the decorators in the correct order of use

and avoid the nonsense (time-waste) of making an indirect copy via list_iterator and reversing it each time the attribute is used.

If the list is constructed in reversed order, immediately reverse it.

+ + class C: + pass + C = deco2(deco1(C))

Terry Jan Reedy



More information about the Python-Dev mailing list