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


Groups > de.comp.lang.python > #4344

Re: [Python-de] Schleifen die ohne Durchlaufen des Schleifenkörpers beendet wurden

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From "Diez B. Roggisch" <deets@web.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Schleifen die ohne Durchlaufen des Schleifenkörpers beendet wurden
Date Wed, 30 Mar 2016 10:27:48 +0200
Lines 75
Message-ID <mailman.181.1459326784.28225.python-de@python.org> (permalink)
References <56F445C9.3000200@mail.de> <56F939CE.8050601@admin-box.com> <56F99A06.4060002@sschwarzer.net> <56FB8367.8050406@admin-box.com>
Mime-Version 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type multipart/signed; boundary="Apple-Mail=_6C5E15EB-6AC2-469B-8998-68156AFB9239"; protocol="application/pgp-signature"; micalg=pgp-sha512
X-Trace news.uni-berlin.de qUUoN4wzaxsRiz3wS+fDYQ7P2YlDvd2HBi4VIhmK0e2Q==
Return-Path <deets@web.de>
X-Original-To python-de@python.org
Delivered-To python-de@mail.python.org
X-Pgp-Agent GPGMail 2.5.2
In-Reply-To <56FB8367.8050406@admin-box.com>
X-Mailer Apple Mail (2.2104)
X-Provags-ID V03:K0:vkNQtgmgHt6Dm+3AHWnarBaOygeU73+F4GYvx4pkv5fhKBh6mJp KLVO7zkDq+ThjUBa7WUDQFj05i/G5dE5A3wTG33I7fN8O4xuVs6NsZ0OZ09PYYwykwtphrh IYXIIQr3tO86Kf7spCnNY0ulwkP3jmfYtLwlRNODzCgq7Q08+trl3ba7rSl2XVoqV4xGM2a 5gHGt990vAFN1SikhjVfA==
X-UI-Out-Filterresults notjunk:1;V01:K0:KHrJHAw2R9s=:yJPeT2kPvZlPS7WidAqcRk mltg1I5dK++6dFwUuii1E0Y5H7CY2rEbfyBJl+c3I1HyZdW0NdWtEiAryPZG2oHnlwIhXufww iG/dBxDUcYl5Rhmi9o0O3RmUVTtsGkXNlyCcYM4kFkrT6kWDWxYTekp7Ujqw7x6GDET2T354m idSz5PXe1kEJzSZ6qt0hiRWaTbkgBRD3Slx2zzbRiJo2VpwUoWDNCprKTcKfOIFiDhcjCEhfH uyPvqBl/s3fGeuFftfcFTLk/5smaGqUtPKuCLMQ8CJZT1v0rXulhK6rWqRDO2ckJQvcfMbL4J uEjdvShLp3dlXwn6QZ5gor+NxrMqWNNSUat5Cq9ED2TKemky3lzCZ4U/Shw1XavkEFy/PQuf8 Bkwyw8tOn834Ka5iO9CxckzoEYRSNReeIEPqsTwcgnznxFCbyGJ71gV86u7b1Aj0o0s9JluQt epi+2clbyjYnBJ1frn+YW8TwO0hTmpQnzNjfY7xPhM/TLR9tjb49C7Zti0XIlvCMnWw0k/obr 5o3fCZwdrcWIXhzRWWSZpkEZ0SevdcifEQGhBsZwzFBwnwQtMYJU4Ba+9vQkMrmXx96yJWDfw OSKVWRrJm9TRqG2xpipj6Evr9TiupC4KoHweQ9xJrDmmvPK4K9OF6xEmAxV8E01FwhSwaZVyN 1U1N0E+VYrtGpuQotHS4+aTPG21dhFaEFiPupCQHxufXT+Cl+6YQdz7PmAsnDBg303PktMn2x eTB6uu38IUQEIYT3Gmyc2q8smWYUnO4NW5UILomTKtB3mIUN2kI18ts8RhE=
X-BeenThere python-de@python.org
X-Mailman-Version 2.1.21
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-de/>
List-Post <mailto:python-de@python.org>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe>
Xref csiph.com de.comp.lang.python:4344

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

> On 30 Mar 2016, at 09:42, Daniel Troeder <daniel@admin-box.com> wrote:
> 
> On 03/28/2016 10:54 PM, Stefan Schwarzer wrote:
>> On 2016-03-28 16:03, Daniel Troeder wrote:
>>> for item in list():
>>>    print item
>>> if "item" not in locals():
>>>    print "empty"
>>> 
>>> Voraussetzung ist, dass der Variablenname ("item") nicht schon vorher im
>>> gleichen oder übergeordneten scope verwendet wird.
>> 
>> technisch mag das gehen, aber für mich sieht das
>> ziemlich "hackish" aus. Ich würde eine direktere
>> Lösung (wie einige der vorgestellten) bevorzugen.
> Hehe - ja das ist etwas "hackish" :)
> 
> In der Realität halte ich mich an "so gut lesbar/explizit wie möglich",
> vor allem wenn es nichts idiomatisches gibt wie hier.
> 
> Ich würde 1. immer überlegen ob am Konstrukt nicht prinzipiell etwas
> falsch ist, wenn eine leere Liste speziell behandelt werden muss.

Das ist es oft nicht im Kontext zB von HTML-Generierung (der OP hat ja auch Templating angesprochen) wo zwischen “Ihre Suche nach Weihnachtseiern hat 10 Ergebnisse” und “Leider nichts gefunden” unterschrieden wird.

> Und 2. wenn es so ist, dann immer entweder vor der Schleife mit "if not
> liste: return foo()" aus der Funktion springen oder wenn es danach
> weiter gehen soll die Schleife in if-else einpacken.
> Ist nicht elegant aber unmissverständlich und sicher(TM).

Das geht eben nicht immer, wie schon vorher ausgefuehrt: “if not liste” nimmt an, das liste einen Wahrheitswert hat, der sich entsprechend verhaelt. Das geht aber nicht zB bei einem geoeffneten File, das leer ist. Da werden keine Zeilen herauskommen, aber “if mein_file” ist trotzdem wahr.

Diez


Back to de.comp.lang.python | Previous | Next | Find similar


Thread

Re: [Python-de]  Schleifen die ohne Durchlaufen des Schleifenkörpers beendet wurden "Diez B. Roggisch" <deets@web.de> - 2016-03-30 10:27 +0200

csiph-web