1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
From VM Sat Jun 30 11:29:01 2001
X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
[nil "Saturday" "30" "June" "2001" "00:21:42" "+0200" "PMDF e-Mail Interconnect" "postmaster@yogi.urz.unibas.ch" nil "147" "Delivery Notification: Delivery has failed" "^From:" nil nil "6" nil nil nil nil nil]
nil)
Return-Path: <python-list-admin@python.org>
Delivered-To: barry@wooz.org
Received: from digicool.com (unknown [63.100.190.15])
by mail.wooz.org (Postfix) with ESMTP id 2852FD36EC
for <barry@wooz.org>; Fri, 29 Jun 2001 18:21:58 -0400 (EDT)
Received: from <python-list-admin@python.org>
by digicool.com (CommuniGate Pro RULES 3.4)
with RULES id 2122693; Fri, 29 Jun 2001 18:23:52 -0400
Received: from ns2.digicool.com ([63.100.190.2] verified)
by digicool.com (CommuniGate Pro SMTP 3.4)
with ESMTP id 2122692 for barry@mail.digicool.com; Fri, 29 Jun 2001 18:23:52 -0400
Received: from mail.python.org (mail.python.org [63.102.49.29])
by ns2.digicool.com (8.9.3/8.9.3) with ESMTP id SAA15102
for <barry@digicool.com>; Fri, 29 Jun 2001 18:22:00 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=mail.python.org)
by mail.python.org with esmtp (Exim 3.21 #1)
id 15G6eH-0006NJ-00
for barry@digicool.com; Fri, 29 Jun 2001 18:22:01 -0400
Received: from [131.152.1.4] (helo=yogi.urz.unibas.ch)
by mail.python.org with esmtp (Exim 3.21 #1)
id 15G6d4-0006Lg-00
for python-list-admin@python.org; Fri, 29 Jun 2001 18:20:46 -0400
Received: from PROCESS-DAEMON by yogi.urz.unibas.ch (PMDF V5.2-29 #33343)
id <01K5CWRKUM2O8X1X1D@yogi.urz.unibas.ch> for python-list-admin@python.org;
Sat, 30 Jun 2001 00:21:44 +0200
Received: from yogi.urz.unibas.ch (PMDF V5.2-29 #33343)
id <01K5CWRINUF48X46F4@yogi.urz.unibas.ch>; Sat, 30 Jun 2001 00:21:42 +0200
Message-id: <01K5CWRJIDYU8X46F4@yogi.urz.unibas.ch>
MIME-version: 1.0
Content-type: MULTIPART/REPORT;
BOUNDARY="Boundary_(ID_MUSA353qRe9PeqtdeP14tg)"; REPORT-TYPE=DELIVERY-STATUS
Precedence: bulk
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Post: <mailto:python-list@python.org>
List-Subscribe: <http://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
List-Id: General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe: <http://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <http://mail.python.org/pipermail/python-list/>
From: PMDF e-Mail Interconnect <postmaster@yogi.urz.unibas.ch>
Sender: python-list-owner@python.org
To: python-list-admin@python.org
Subject: Delivery Notification: Delivery has failed
Date: Sat, 30 Jun 2001 00:21:42 +0200
X-Autogenerated: Mirror
X-Mirrored-by: <python-list-admin@python.org>
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.0.5 (101270)
--Boundary_(ID_MUSA353qRe9PeqtdeP14tg)
Content-type: text/plain; charset=us-ascii
Content-language: EN-US
This report relates to a message you sent with the following header fields:
Message-id: <Pine.LNX.4.31.0106300001530.2750-100000@athlon.de>
Date: Sat, 30 Jun 2001 00:18:49 +0200 (CEST)
From: Carsten Geckeler <uioziaremwpl@spammotel.com>
To: Python <python-list@python.org>
Subject: Re: Augmented Assignement (was: Re: PEP scepticism)
Your message cannot be delivered to the following recipients:
Recipient address: HAASM@yogi.urz.unibas.ch
Original address: max.haas@unibas.ch
%MAIL-E-OPENOUT, error opening !AS as output
-RMS-E-CRE, ACP file create failed
-SYSTEM-F-EXDISKQUOTA, disk quota exceeded
--Boundary_(ID_MUSA353qRe9PeqtdeP14tg)
Content-type: message/DELIVERY-STATUS
Original-envelope-id: 0GFP00202Q2DR3@mailhub.unibas.ch
Reporting-MTA: dns;yogi.urz.unibas.ch
Action: failed
Status: 5.0.0
Original-recipient: rfc822;max.haas@unibas.ch
Final-recipient: rfc822;HAASM@yogi.urz.unibas.ch
--Boundary_(ID_MUSA353qRe9PeqtdeP14tg)
Content-type: MESSAGE/RFC822
Return-path: python-list-admin@python.org
Received: from yogi.urz.unibas.ch by yogi.urz.unibas.ch (PMDF V5.2-29 #33343)
id <01K5CWRINUF48X46F4@yogi.urz.unibas.ch>
(original mail from python-list-admin@python.org); Sat,
30 Jun 2001 00:21:42 +0200
Received: from maser.urz.unibas.ch ([131.152.1.5])
by yogi.urz.unibas.ch (PMDF V5.2-29 #33343)
with ESMTP id <01K5CWRGK0V68X4CRC@yogi.urz.unibas.ch> for
HAASM@yogi.urz.unibas.ch (ORCPT rfc822;max.haas@unibas.ch); Sat,
30 Jun 2001 00:21:38 +0200
Received: from DIRECTORY-DAEMON.mailhub.unibas.ch by mailhub.unibas.ch
(PMDF V6.0-24 #41480) id <0GFP00201Q2DR3@mailhub.unibas.ch> for
HAASM@yogi.urz.unibas.ch (ORCPT max.haas@unibas.ch); Sat,
30 Jun 2001 00:20:37 +0200 (MET DST)
Received: from mail.python.org (mail.python.org [63.102.49.29])
by mailhub.unibas.ch (PMDF V6.0-24 #41480)
with ESMTP id <0GFP00BEAQ2C5Y@mailhub.unibas.ch> for max.haas@unibas.ch; Sat,
30 Jun 2001 00:20:37 +0200 (MET DST)
Received: from localhost.localdomain ([127.0.0.1] helo=mail.python.org)
by mail.python.org with esmtp (Exim 3.21 #1) id 15G6bK-0006HW-00; Fri,
29 Jun 2001 18:18:58 -0400
Received: from [134.2.34.92] (helo=nemesis.jura.uni-tuebingen.de ident=qmailr)
by mail.python.org with smtp (Exim 3.21 #1)
id 15G6Zp-0006Ee-00 for python-list@python.org; Fri, 29 Jun 2001 18:17:25 -0400
Received: (qmail 31643 invoked from network); Fri, 29 Jun 2001 22:17:24 +0000
Received: from justitia.jura.uni-tuebingen.de (mail@134.2.34.12)
by nemesis.jura.uni-tuebingen.de with SMTP; Fri, 29 Jun 2001 22:17:24 +0000
Received: from s-gec3 by justitia.jura.uni-tuebingen.de with local
(Exim 3.12 #1 (Debian)) id 15G6Zo-0002Zx-00 for <python-list@python.org>; Sat,
30 Jun 2001 00:17:24 +0200
Date: Sat, 30 Jun 2001 00:18:49 +0200 (CEST)
From: Carsten Geckeler <uioziaremwpl@spammotel.com>
Subject: Re: Augmented Assignement (was: Re: PEP scepticism)
In-reply-to: <ubsn7hte7.fsf@ctwd0143.fitlinxx.com>
Sender: python-list-admin@python.org
To: Python <python-list@python.org>
Errors-to: python-list-admin@python.org
Message-id: <Pine.LNX.4.31.0106300001530.2750-100000@athlon.de>
MIME-version: 1.0
Content-type: TEXT/PLAIN; charset=US-ASCII
Precedence: bulk
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.0.5 (101270)
List-Post: <mailto:python-list@python.org>
List-Subscribe: <http://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
List-Unsubscribe: <http://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <http://mail.python.org/pipermail/python-list/>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Id: General discussion list for the Python programming language
<python-list.python.org>
On 29 Jun 2001, David Bolen wrote:
> Carsten Geckeler <uioziaremwpl@spammotel.com> writes:
>
> > The problem which some people have with augmented assignment is not that
> > they exist, but that they do not work as they expect (at least from the
> > POV of some readers). I expect that
> > ident op= expr
> > works like
> > ident = ident op expr
> >
> > At least that's what I'd have expectd comming from other programming
> > languages.
>
> Of course, one interesting point is that while you may think the above
> if coming from, say, C, what "ident = ident op expr" means in C is not
> what "ident = ident op expr" means in Python.
Yes, that's completely true. I can accept, that Python work differently
in many cases. Actually I love Python's object stuff. That's something
more natural that in many other languages. And I can accept, that objects
(which are bound to different variable names) can be changed (like with
l.extend).
The point is not that Python differs from C (or other languages), but that
the two statements above work differently. I can accept that, of course
(well I have to, I thing ;) ). But, when I write the following three
statements,
l = l + [3, 4]
l += [3, 4]
l.extend([3,4])
it seems more logical to me, that the first two do the same than the last
two. I know, of course, that the last two do the same. But anyway, the
first two just _look_ more the same.
> In C it has the result of changing data (in either case) that is
> stored in a named location ident, in Python the long form just rebinds
> the reference ident to a new object and doesn't touch the original
> object. The short form can actually get closer to the C idiom if the
> object is mutable.
>
> So I wonder if some of the confusion is people familiar with other
> language's augmented assignment trying to extrapolate that into Python
> and then running into the pre-existing differences in assignment
> versus binding?
No, that's at least no problem for me (see above).
Cheers, Carsten
--
Carsten Geckeler
--
http://mail.python.org/mailman/listinfo/python-list
--Boundary_(ID_MUSA353qRe9PeqtdeP14tg)--
|