Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #4850
| 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] War die Idee mit Iteratoren/Generatoren wirklich so super? |
| Date | Tue, 25 Jul 2017 10:49:34 +0200 |
| Lines | 98 |
| Message-ID | <mailman.20.1500974046.3037.python-de@python.org> (permalink) |
| References | <392f5a95-defa-0f3d-0f1a-d0b554c2fa34@thomas-guettler.de> <0300EE2C-9A96-4026-A6FC-D368B4345754@web.de> |
| Mime-Version | 1.0 (Mac OS X Mail 10.3 \(3273\)) |
| Content-Type | multipart/signed; boundary="Apple-Mail=_5F0838F8-8687-40AC-BC6D-7540CE97DBF5"; protocol="application/pgp-signature"; micalg=pgp-sha512 |
| X-Trace | news.uni-berlin.de ImdeCNfv1bxyiOa2Px9uxAm2cb9SHv0q+gom5utNNDvQ== |
| Return-Path | <deets@web.de> |
| X-Original-To | python-de@python.org |
| Delivered-To | python-de@mail.python.org |
| In-Reply-To | <392f5a95-defa-0f3d-0f1a-d0b554c2fa34@thomas-guettler.de> |
| X-Mailer | Apple Mail (2.3273) |
| X-Provags-ID | V03:K0:0tHzUC0CYDUgi07jdqa45sJaLnKlrYOxwMRUkbxhTcKRSgy/YM9 dwM2LKs9sN/Q57hqpAeExMK8GD7eX0z1rWR9dpw11qqV9+e5d/3Wqe0JuLRCRR0p6H17S3o ycAAO476DvmbglvkL2Sgxd10incak/ECkWIbQjolEqZ+qtgZl7kH9OGNvz3NcvIG1VqcdKn aX/MODKrSyCiu8JmZ3XAg== |
| X-UI-Out-Filterresults | notjunk:1;V01:K0:rL5TmhMLnkA=:q3phvnivYrHZ3eM90zO3gZ mTYnYYu8mfYcAjZ7vk/jJh+CLDq2bhmW9SbdbZfItjuS1TEee/AtSAvBPPOO+R+dm0NnmPtCd 4UfLXQGDlcib675v1KBClZGjC9IfBg7Sd61cEctolZkGVGtum3flyfRYFCa0IzQjWelBUiSzE bFVst56GUtkxX7LZH3t0EaEd1L4dNUMUQex5n9YkbN/cTGzWuBnOdYOTANuZ1pSpYcq+LmSoK 2OmV6EwmppBf4RVzEg0Im7p998ewKhUnBvzAUTuxx1QHe3qo8VXRQ5VrB0Q8Pl03JelmWvD0E aGPRYz9uah686Yc+4xYux1Ur3Km2N/wpoYUgMS05pILxDw60RbhNPAuQObVWUQ2Xgrp3y8oi1 0fSAV6MjQzpDySzwHfx1Bua7ZMRW143waTbJZjGyPCAWnNayWhKaftPT+spEoS947rNSHnd8X gtrrotj3v0zuJ/NCefeh8OnWiW3DhC2OLSEKS8HNDABlXz5w/mlHiW0dMVvHriS4KlL870rNU J2t7N/u3XWm6Fz9Jj5RgK7MaUOhnppc8l67ooVMCTMmoAC0WPCU9bsJpfbTXvyFwbTI+j0f3m a1WgM19KEyZT0JjebGrmLGcOOxJxsTF7yI3Ra8T8GNbLiMVCTUV95kzqUrDON7mgrWqS9xcWb Gj2CFbvXfa01W0kJXTvHAFXCCPIgKddJpGJaENY43yJ8XN9ejLxuh81WpdQ9U1oH+zjn47REZ RfW1zkpjfyXfOqd+k2snrQebMAf+TtRIQsYnWe4IPctElZmd6EQHx50d4o0ASAdm6m0a1bGvD nVYFyRzkoZSxqshpinJ8jUmU8QerA== |
| X-BeenThere | python-de@python.org |
| X-Mailman-Version | 2.1.24 |
| 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> |
| X-Mailman-Original-Message-ID | <0300EE2C-9A96-4026-A6FC-D368B4345754@web.de> |
| X-Mailman-Original-References | <392f5a95-defa-0f3d-0f1a-d0b554c2fa34@thomas-guettler.de> |
| Xref | csiph.com de.comp.lang.python:4850 |
Show key headers only | View raw
[Multipart message — attachments visible in raw view] - view raw
> On 25. Jul 2017, at 10:14, Thomas Güttler <guettliml@thomas-guettler.de> wrote:
>
> Anfangs war ich total begeistert von Iteratoren und Generatoren.
>
> Die Begeisterung ist nicht mehr vorhanden, schließlich ist es nichts Neues und darum auch nichts Spannendes mehr.
>
> Wenn ich zum Debugging etwas untersuchen will, und dann das hier finde:
>
> <generator object get_foo_bars at 0x7f1d3bb416e0>
>
> ... Dann ist ein weiterer "Edit, Compile, Run Cycle" nötig.
>
> Dieser "Cycle" geht in Python schnell, aber trotzdem nervt es ein klitzekleinesbischen.
>
> Ich frage mich: Bringt der Einsatz von Iteratoren und Generatoren wirklich so viel?
>
> Sicherlich gibt es extreme Beispiele bei denen die Datenmenge nicht in den Hauptspeicher passen würde.
>
> Aber solche Datenmengen habe ich im PostgreSQL, und ich mache auch Schleifchen über alle Daten
> in der DB :-)
>
> Wie seht ihr das?
Es geht nicht nur um Datenmengen, sondern auch um Algorithmen. Wenn ich eine rekursive Datenstruktur dank eines Generators traversieren kann, ohne dabei gleich die Prozessierung reinzuwurschteln, dann ist das architektonisch ein Gewinn. Natuerlich kann man das auch irgendwie anders machen, mit callbacks oder Visitor-Pattern, aber das ist halt knoedelig.
Ausserdem verstehe ich dein Argument nicht. Wenn ich debugge, benutze ich PDB. Und wenn ich einen Generator habe, dann kann ich ja nun auch in dessen Ausfuehrung einspringen. Siehe unten. Du kannst ja auch keinen Breakpoint in eine List-Comprehension setzen, machst du deswegen auch keine?
Und last but not least glaubst du nur, dass du schleifen machst in der DB. Im Zweifel arbeitet die nur auf Index-Strukturen etc, und wenn du rausfinden willst, warum der Execution-Planer einen full table scan macht, obwohl doch eigentlich der Index genutzt werden sollte, dann stehst du vor einer noch schwaerzeren Box als deinem Generator.
Diez
#!/usr/bin/env python3
def bar():
for i in range(100):
yield i
def main():
import pdb; pdb.set_trace()
for foo in bar():
print(foo)
if __name__ == '__main__':
main()
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] War die Idee mit Iteratoren/Generatoren wirklich so super? "Diez B. Roggisch" <deets@web.de> - 2017-07-25 10:49 +0200
csiph-web