For Beginners - Mein erstes Programm

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 9. Dezember 2004, 22:53

Dookie hat geschrieben:Leonidas spricht da aus eigener Erfahrung ;)

Naja, bei open() kann das gut sein, aber das mit time habe ich in der Mailingliste gelesen, ich habe vorher gar nicht gewusst, dass sowas geht. Man lernt eben immer dazu :)

Wofür kann man operator verwenden? Dort sind doch lauter Funktionen die normalerweise anders genutzt werden, mehr Pythonic, denn sub() aufzurufen scheint mir etwas unpraktisch zu sein.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Donnerstag 9. Dezember 2004, 23:15

operator kann oft ein lambda ersetzen z.B. bei Reduce:

Code: Alles auswählen

from operator import *
fak = lambda n: reduce(mul, xrange(2,n),n)

müsste sonst folgendermassen geschrieben werden:

Code: Alles auswählen

fak = lambda n: reduce(lambda a, b: a * b, xrange(2,n),n)

was 1. nicht so elegant ist und 2. auch noch deutlich langsamer in der Ausführung.
Auch kann man die Funktionen aus Operator z.B. für ein Dictionary mit Rechenoperatoren verwenden:

Code: Alles auswählen

from operator import *
op_dict = {"+" : add, "-" : sub, "*" : mul, "/" : div}


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder