Seite 3 von 3
Verfasst: Donnerstag 15. Mai 2008, 08:11
von EyDu
Wenn wir schon mal dabei sind, solltest du "input()" auch gleich sein lassen. Das ist nur eine Komposition aus "raw_input" und "eval".
Verfasst: Donnerstag 15. Mai 2008, 11:17
von roschi
hallo,
ja ok, wenn bei 'exec' immer der compiler angeht... dann muesste das ja auch ziemlich langsam sein. aber trotzdem finde ich es manchmal recht nuetzlich.
Verfasst: Donnerstag 15. Mai 2008, 11:21
von Leonidas
roschi hat geschrieben:ja ok, wenn bei 'exec' immer der compiler angeht... dann muesste das ja auch ziemlich langsam sein. aber trotzdem finde ich es manchmal recht nuetzlich.
Wie BlackJack sagte, wenn man keine saubere Lösung kennt, dann nutzt man ``exec``. Das ist etwa oft bei Leuten der Fall, die statt Dictioneries lieber nummerierte Variablen verwenden.
Verfasst: Donnerstag 15. Mai 2008, 11:52
von roschi
wort1 = "hallo"
wort2 = "tschuess"
das gibt es ja leider oft! warum umstaendlich wenns auch einfach geht?

ich hab das am anfang, als ich noch keine erfahrung mit listen hatte auch so gemacht, finde es aber mittlerweile sehr anstraengend!
mfg
roschi
Verfasst: Donnerstag 15. Mai 2008, 12:01
von Leonidas
roschi hat geschrieben:wort1 = "hallo"
wort2 = "tschuess"
das gibt es ja leider oft! warum umstaendlich wenns auch einfach geht?

Weil es bei wort4096 sehr kompliziert wird und alle Features die Listen bieten (iterieren, einfügen, löschen) wegfallen.
Und sowas gibt es eben bei quasi jeder Lösung die ``exec`` nutzt.
Verfasst: Donnerstag 15. Mai 2008, 12:29
von numerix
BlackJack hat geschrieben:``exec`` und auch `eval()` werden normalerweise von Leuten benutzt, die die Sprache noch nicht beherrschen und dafür einen unsaubere Abkürzung brauchen.
Aber es wird doch wohl auch gute Gründe für den Einsatz von eval und exec geben, sonst gäbe es diese Möglichkeiten doch nicht.
Oder denke ich hier falsch?
Wenn ich nicht falsch denke: Was wären denn "pythonische" Einsatzgebiete?
Verfasst: Donnerstag 15. Mai 2008, 12:40
von BlackJack
Also ich hab's noch nicht gebraucht und ausser der interaktiven Eingabe von Python-Quelltext durch einen Benutzer, mit all den damit verbundenen Risiken, fällt mir auch nichts ein.
Für eine Python-Shell kann man's gebrauchen und für "unsichere" Funktionsplotter.
Verfasst: Donnerstag 15. Mai 2008, 12:52
von keppla
pütone hat geschrieben:Wenn ich nicht falsch denke: Was wären denn "pythonische" Einsatzgebiete?
Sourcecode in Datenbanken, warum auch immer man das haben können wollte (Plugins oder so).
Skripting für den User, wenn man keine Sandbox braucht.
Dinge, die eben ihrer Natur nach erfordern, dass man Sourcecode zur Laufzeit nur in Textform hat, und den Ausführen möchte,
Jedesmal, wenn man den Code für exec selber generieren möchte, ist es mit ziemlicher Sicherheit falsch.
Sollte man mit absoluter Sicherheit sagen, dass man den Code nicht Vorhersagen kann, ist es vielleicht ein Anwendungsfall