CTO a écrit :
On May 18, 5:17 pm, Chris Rebert pyid...@rebertia.com wrote:
The BDFL has condemned introducing new assignment operators. Seehttp://www.python.org/dev/peps/pep-3099/:
"There will be no alternative binding operators such as :=."
That's weird, in the archives quoted, I've found no exchange around the pros and cons of alternative binding operators, except the BDFL's "Brrh". ---> http://mail.python.org/pipermail/python-dev/2006-July/066995.html I guess that the operators rejected there mostly concerned the differentiation between binding and rebinding, although I couldnt be sure.
Without new keyword or operator, a good looking solution for dynamic defaults is unlikely to appear, imo.
I could content myself of the proposed solution : @dynamic def func (a, b = lambda : ): pass But I just dislike the fact that the "dynamic" applies to all the defaults, even those which weren't supposed to be dynamic (and writing "lambda : lambda : ") doesn't look good). Would there be any way of separating "to-be-called" lambdas from normal ones ? Except with a syntax like "b = dyn(lambda: )" ?