
On Thu, Sep 24, 2009 at 7:20 PM, Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
Guido van Rossum wrote:
On Thu, Sep 24, 2009 at 5:38 PM, Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
@fancy_property foo = 'The fancy foo property'
How did one occurrence of 'foo' suddenly turn into foo (without quotes)? That's not how decorators behave elsewhere.
Decorators on assignments would have to be defined slightly differently, since as you point out, they wouldn't gain you anything otherwise.
If you would prefer to use some syntax other than @ for this, that would be fine with me. All I'm asking for is *some* way to write things like this without having to repeat the name of the thing being defined. There doesn't seem to be any way to do that at the moment without abusing some other construct, such as using a 'def' when you aren't really defining a function.
So, you don't care abut the repetition of x in "x = f(x)" but you'd like to have a way to implicitly pass an argument giving the string name of the target variable, like "x = f('x')" ? (Or "x = f('x', x)"; it's the same thing really.) That certainly has nothing to do with decorators. I'm not sure that it's common enough to warrant special syntax; certainly "x = f(x)" must be a lot more common without also needing to pass in the string 'x'. -- --Guido van Rossum (home page: http://www.python.org/~guido/)