specifying constants for a function (WAS: generator expressions: performance anomaly?)
Steven Bethard
steven.bethard at gmail.com
Sun Jan 23 15:08:11 EST 2005
Nick Coghlan wrote:
> Steven Bethard wrote:
>
>> I wrote:
>> > If you really want locals that don't contribute to arguments, I'd be
>> > much happier with something like a decorator, e.g.[1]:
>> >
>> > @with_consts(i=1, deftime=time.ctime())
>> > def foo(x, y=123, *args, **kw):
>> > return x*y, kw.get('which_time')=='now' and time.ctime() or deftime
>> >
>> > Then you don't have to mix parameter declarations with locals
>> > definitions.
>> >
>> > Steve
>> >
>> > [1] I have no idea how implementable such a decorator would be. I'd
>> > just like to see function constants declared separate from arguments
>> > since they mean such different things.
>>
>> I played around with this, and I think it's basically implementable:
>
>
> Raymond's constant binding decorator is probably a good model for how to
> do it:
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/277940
Yeah, I thought about this recipe, but opcodes always scare me too much. ;)
Steve
More information about the Python-list
mailing list