Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #73899

Re: TypeError expected in an augmented assignment

From Mark Lawrence <breamoreboy@yahoo.co.uk>
Subject Re: TypeError expected in an augmented assignment
Date 2014-07-03 13:43 +0100
References <f1cd7efe-d628-4e96-9ed3-79d9a212f768@googlegroups.com> <mailman.11432.1404356297.18130.python-list@python.org> <55f74a23-95ea-4be1-950d-e57e645dab1a@googlegroups.com> <mailman.11446.1404376617.18130.python-list@python.org> <6ed679b1-c6e1-408e-8167-476b169fa2eb@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.11456.1404391406.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 03/07/2014 10:35, candide wrote:
>
>
>> >From that link:
>>
>>
>>
>> """
>>
>> An augmented assignment expression like x += 1 can be rewritten as x =
>>
>> x + 1 to achieve a similar, but not exactly equal effect. In the
>>
>> augmented version, x is only evaluated once. Also, when possible, the
>>
>> actual operation is performed in-place, meaning that rather than
>>
>> creating a new object and assigning that to the target, the old object
>>
>> is modified instead.
>>
>> """
>>
>>
>>
>> The significance here is that the augmented assignment may not
>>
>> necessarily be at all comparable to the non-augmented version, but
>>
>> ought to have *approximately* the same *intention*.
>
>
> This is not my reading.
>
>
>
>
>>
>> of situations where the two will differ, eg when there are multiple
>>
>> references to the same object:
>>
>>
>>
>>>>> a = b = [1,2]
>>
>>>>> a += [3]
>>
>>>>> a,b
>>
>> ([1, 2, 3], [1, 2, 3])
>>
>>>>> a = a + [4]
>>
>>>>> a,b
>>
>> ([1, 2, 3, 4], [1, 2, 3])
>>
>>
>
> OK but this behavior is in conformance with the Reference Manual (cf. your quote above : "when possible, the actual operation is performed in-place"). This is not my point because the doc explictly claims that "an augmented assignment [...] performs the binary operation specific to the type of assignment on the two operands".
>

To get the wording changed to satisfy yourself, either raise an issue on 
the bug tracker at bugs.python.org and attach a patch file, or send an 
email with suggested wording to docs@python.org.

-- 
My fellow Pythonistas, ask not what our language can do for you, ask 
what you can do for our language.

Mark Lawrence

---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

TypeError expected in an augmented assignment candide <c.candide@laposte.net> - 2014-07-02 19:39 -0700
  Re: TypeError expected in an augmented assignment Terry Reedy <tjreedy@udel.edu> - 2014-07-02 22:57 -0400
    Re: TypeError expected in an augmented assignment candide <c.candide@laposte.net> - 2014-07-03 00:51 -0700
      Re: TypeError expected in an augmented assignment Chris Angelico <rosuav@gmail.com> - 2014-07-03 18:36 +1000
        Re: TypeError expected in an augmented assignment candide <c.candide@laposte.net> - 2014-07-03 02:35 -0700
          Re: TypeError expected in an augmented assignment Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-03 13:43 +0100

csiph-web