Python ++ Operator?

Robert Kern robert.kern at gmail.com
Sat Jul 16 12:13:05 EDT 2011


On 7/16/11 4:55 AM, Waldek M. wrote:
> Dnia Fri, 15 Jul 2011 23:09:02 +0200, Stefan Behnel napisał(a):
> [...]
>>> array[count++]=value;
>>>
>>> or the more direct pointer management:
>>> *ptr++=value;
>>
>> More direct, sure. But readable? Well, only when you know what this
>> specific pattern does. If you have to think about it, it may end up hurting
>> your eyes before you figure it out.
>
> Oh, come on. I don't say the post- and pre-incrementing is
> good or bad, but please don't exagerate.
>
> Almost any other construction is unreadable to people, who
> don't know this construction, eg. a==1, a+=1
> may be completely senseless to mathematicians.

No construction is truly intuitive and immediately understandable to everyone, 
but there are constructions that are less easy to understand than others. a==1 
and a+=1 both have few "moving parts" that you have to learn, and they combine 
with other constructions fairly straightforwardly. *ptr++=value has several 
moving parts, each of which are understandable separately, but understanding 
their separate functions does not give immediate understanding of their combined 
meaning. You not only have to learn the meaning of each component, you have to 
separately learn how they combine.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list