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

Christopher Arndt chris at chrisarndt.de
Di Mär 29 08:48:47 EDT 2016


Am 28.03.2016 um 16:03 schrieb Daniel Troeder:
> 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.

Dies ist aber in der Praxis m.E. schwer sicher zu stellen. Die sichere
Variante wäre also:

locals().pop('item', None)
for item in items:
    ...
if item in locals():
    ...

Wobei mir weiterhin dies besser gefällt, weil m.E. klarer:

item = object
for item in items:
    ...
if item is object:
    ...


Chris

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 979 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://mail.python.org/pipermail/python-de/attachments/20160329/8eacf8c4/attachment.sig>


Mehr Informationen über die Mailingliste python-de