[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