[Python-Dev] can't assign to function call

Serhiy Storchaka storchaka at gmail.com
Mon Mar 18 18:25:02 CET 2013


On 18.03.13 17:40, Steven D'Aprano wrote:
> On 19/03/13 02:01, Hrvoje Niksic wrote:
>> Assigning to function calls is orthogonal to reference types.  For
>> example, Python manages assignment to subscripts without having
>> references just fine:
>>
>> val = obj[index]      # val = obj.__getitem__(index)
>> obj[index] = val      # obj.__setitem__(index, val)
>>
>> In analogy with that, Python could implement what looks like
>> assignment to function call like this:
>>
>> val = f(arg)          # val = f.__call__(arg)
>> f(arg) = val          # f.__setcall__(arg, val)
>
> That's all very well, but what would it do? It's not enough to say that
> the syntax could exist, we also need to have semantics. What's the
> use-case here? (That question is mostly aimed at the original poster.)

Python could use parenthesis instead of brackets for indexing and a 
dictionary lookup. However it is too late to discuss this idea.




More information about the Python-Dev mailing list