Laurent wrote: > Yes using a separate class variable would transfer the problem to > the class level. But adding 10 class variables if I have 10 > properties would be ugly. Maybe I should reformulate the subject of > this thread to "is there some python magic to pass parameters to > decorator-declared properties ?"
You can't have it both ways. If you want myObj.greeting2 # No parentheses To evaluate to a string (which it will if it's a property as you set it up), then it is necessarily true that myObj.greeting2(somearg) is going to try to call that string, which isn't going to work. If you need to be able to pass in parameters, then you need greeting2 to be a real method, not a property, and you need to get the greeting string with myObj.greeting2() # Parentheses All this is as it should be. The whole point of properties is that outside functions accessing them don't "know" that a getter function is called behind the scenes. -- --OKB (not okblacke) Brendan Barnwell "Do not follow where the path may lead. Go, instead, where there is no path, and leave a trail." --author unknown -- http://mail.python.org/mailman/listinfo/python-list