On Mon, Oct 21, 2019, at 22:00, Steve Jorgensen wrote:
> I think some idea like this might be worth proposing. the first idea 
> that comes to my mind is to allow the name of a decorator to be an 
> fstring using `@'...'` or `@"..."` syntax.
> 
> If, for example, you have `method_type = 'class'`, then you could 
> decorate a method using `@'{method_type}method'`.

I'm not sure if this is a very good example (there's no "normalmethod" to 
return no decorator, and staticmethod typically needs a different function 
signature with no self/cls)... and for any nontrivial case I can imagine, it's 
taken care of by the ability to call a function. For example, for your case you 
can simply

def m(method_type):
    if method_type == 'static': return staticmethod
    elif method_type == 'class': return classmethod
    elif method_type == 'normal': return lambda f: f
    else:  # do what here? are you extending with additional "foomethod" 
decorators?

and then do @m(method_type).
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/PYLVZTNDQAV5WIV4W3OFFAIUMH3EDJFU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to