Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!newsfeed.freenet.ag!newsfeed.kamp.net!newsfeed.kamp.net!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Mike_M=c3=bcller?= Newsgroups: de.comp.lang.python Subject: Re: [Python-de] =?utf-8?q?Schleifen_die_ohne_Durchlaufen_des_Schleif?= =?utf-8?q?enk=C3=B6rpers_beendet_wurden?= Date: Tue, 29 Mar 2016 17:47:23 +0200 Organization: Python Academy GmbH & Co. KG Lines: 116 Message-ID: References: <56F445C9.3000200@mail.de> <533CBF60-D919-4211-8155-ACC90B848839@web.de> <56F47AD1.5040008@chrisarndt.de> <56F525AC.10600@python-academy.de> <56F93B79.4090008@chrisarndt.de> Reply-To: mmueller@python-academy.de Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="m7WmGGXIctwEcfv5cCXSEucM94wntuSlX" X-Trace: news.uni-berlin.de re24rrCDbEvmKxOrxRaFygZTwjUMFzfHD5KJ1nFsRY/g== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 In-Reply-To: <56F93B79.4090008@chrisarndt.de> X-Authenticated-Sender: mmueller@python-academy.de X-Virus-Scanned: Clear (ClamAV 0.99/21477/Mon Mar 28 21:45:21 2016) X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com de.comp.lang.python:4337 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --m7WmGGXIctwEcfv5cCXSEucM94wntuSlX Content-Type: multipart/mixed; boundary="UdBBVtf8ATn5O7XQCBne6AS5xsT5HxPI3" From: =?UTF-8?Q?Mike_M=c3=bcller?= Reply-To: mmueller@python-academy.de To: python-de@python.org Message-ID: <56FAA38B.8080301@python-academy.de> Subject: =?UTF-8?Q?Re:_[Python-de]_Schleifen_die_ohne_Durchlaufen_des_Schlei?= =?UTF-8?Q?fenk=c3=b6rpers_beendet_wurden?= References: <56F445C9.3000200@mail.de> <533CBF60-D919-4211-8155-ACC90B848839@web.de> <56F47AD1.5040008@chrisarndt.de> <56F525AC.10600@python-academy.de> <56F93B79.4090008@chrisarndt.de> In-Reply-To: <56F93B79.4090008@chrisarndt.de> --UdBBVtf8ATn5O7XQCBne6AS5xsT5HxPI3 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Am 28.03.16 um 16:11 schrieb Christopher Arndt: > Am 25.03.2016 um 12:49 schrieb Mike M=FCller: >> object() ist der Sentinel schlechthin. >=20 > Stimmt, das hatte ich mir noch gar nicht so bewusst gemacht. >=20 >> Alle Funktionen haben immer einen R=FCckgabewert. Damit muss ich `i` >> nicht zwingend als Argument mitgeben. >=20 > Das habe ich nicht verstanden. Wenn man =FCber eine Kollektion iteriert= , > will man doch meistens mit jedem Element irgendetwas machen, muss es > dann also auch an die Verarbeitungsfunktion =FCbergeben. In den meisten F=E4llen ja. Es k=F6nnte aber auch sein, dass ich einfach etwas so oft tun will wie Elemente in der Kollektion sind. Zum Beispiel zu was: for _ in range(len(collection)): # mach was aber halt ohne `len`: for i in collection: # mach was > Und ob ich das Element an die Verarbeitungsfunktion =FCbergebe oder nic= ht, > hat doch nichts mit ihrem R=FCckgabewert zu tun. > Vielleicht kannst du nochmal erkl=E4ren, was du meinst? Du hast Recht. In deinem Beispiel =E4ndert sich `i` ja sobald eine Schleife aktiv war. Also hat auch die =C4nderung von `i` nichts mit dem Aufruf der Funktion zu tun. Das Testen auf die =C4nderung des R=FCckgabewertes bringt also keinen Vorteil au=DFer in diesem =E4u=DFerst= konstruierten Fall. (Dies Beispiel ist von der python-ideas Liste. Ich habe einfach mal nach der von Sven angesprochenen Diskussion gesucht): item =3D object() counter =3D 0 for item in locals().values(): counter +=3D 1 print(counter) if item is item: print('no loop') Ausgabe: 41 no loop Das jemand innerhalb einer Funktion eine globale Variable mit dem Namen `sentinel` anlegt geht nat=FCrlich auch. Ich bin aber grunds=E4tzlich geben `global`. ;) Mike >=20 >=20 > Chris >=20 >=20 >=20 > _______________________________________________ > python-de maillist - python-de@python.org > https://mail.python.org/mailman/listinfo/python-de >=20 --UdBBVtf8ATn5O7XQCBne6AS5xsT5HxPI3-- --m7WmGGXIctwEcfv5cCXSEucM94wntuSlX Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJW+qOMAAoJEKed4/ize0A4SLMH/jYm5P0RfdSZ9bDyP8xyvVQB Y7iSPLR9pA01XDbCNcIAqaNFIKT1XsAlpYnx/tfJzO1BJY97e2Q5kdg6Hlfi2xDh cQGvQYT4jLZltiqH7y9l2asy4E/dDr7u5xsxDuKuk4/wfck19Ze4ZO5Yi55E/hIw 9OIQAsprdMeFuAMo0uZq8uhw8kxjM87X1HJtZB12Qp3s2XjmyHugOlzVpLgzCAeh VWfoYuKOBJ+2zhU+Hbu3b/3lUoajm9ktShl6c5sX+d0bfy2ZziAEm5Va7VfYCXkW axEr6UzHfUeLSwI57fgwF2Exk0eoDJqYovZqj06ERLvsoIy7rM0YiWYAth12ZBY= =EUo5 -----END PGP SIGNATURE----- --m7WmGGXIctwEcfv5cCXSEucM94wntuSlX--