[Python-de] Zuweisungen bei if?

Hartmut Goebel h.goebel at goebel-consult.de
Di Apr 10 17:02:52 CEST 2012


Am 10.04.2012 16:24, schrieb Thomas Rachel:
> Am 10.04.2012 13:28 schrieb Hartmut Goebel:
>> Am 10.04.2012 12:30, schrieb Diez B. Roggisch:
>>> Aber sei's drum. Nur solltest du mit dem _ aufpassen - afaik wird
>>> das als temporärer Name in List comprehensions verwandt - und damit
>>> könntest du in Probleme kommen, weil da was anderes drin ist als du
>>> erwartest.
>>
>> *Dieses* Problem besteht allerdings nicht, da die temporärer Namen in
>> List Comprehensions `_[0]`, `_[1]`, usw. lauten.
>
> Versteh ich jetzt nicht ganz. Wenn ich folgendes mache:
>
[...]
>> Diese Namen sind in
>> Python gar nicht zulässig. Ein Namenskonflikt ist daher ausgeschlossen.
>
> Hä? Wenn ein Objekt, das unter _ angesprochen wird, __getitem__()
> implementiert, ist _[1] doch einwandfrei gültig, wenn auch nicht als
> Bezeichner, sondern als Ausdruck?
>
> Oder verstehe ich Dich grade komplett miß?

Ja, ziemlich.
In List Comprehensions werden Variablen benutzt, die den Namen
(=Bezeichner) `_[1]' haben:

>>> def f(): [ xx for aa in AA ]
...
>>> dis.dis(f)
[....]
          6 BUILD_LIST               0
          9 DUP_TOP
         10 LOAD_ATTR                0 (append)
         13 STORE_FAST               0 (_[1])

-- 
Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP

Goebel Consult 
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult ist Mitglied bei http://www.7-it.de


-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : smime.p7s
Dateityp    : application/pkcs7-signature
Dateigröße  : 4951 bytes
Beschreibung: S/MIME Kryptografische Unterschrift
URL         : <http://mail.python.org/pipermail/python-de/attachments/20120410/809a52cf/attachment.bin>


Mehr Informationen über die Mailingliste python-de