[Python-Dev] Dinamically set __call__ method
dieter at handshake.de
Sat Nov 8 07:50:41 CET 2014
Ethan Furman <ethan at stoneleaf.us> writes:
> On 11/06/2014 10:59 PM, dieter wrote:
>> John Ladasky writes:
>>> On Tuesday, November 4, 2014 11:12:31 AM UTC-8, Ethan Furman wrote:
>>>> If you really absolutely positively have to have the signature be correct for each instance, you may to either look at a
>>>> function creating factory, a class creating factory, or a meta-class.
>>> +1. Overriding __call__() within the class definition, over and over again, with different function, looks awkward to me.
>> A possibility to get the original approach implemented looks like:
>> make "__call__" a descriptor on the class which looks up the real
>> method on the instance.
> This still wouldn't get the signatrue correct, though.
Why not? Once the descriptor is resolved, you get the final
instance method - with the correct signature.
More information about the Python-list