For Beginners - Mein erstes Programm

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 (former) Modvoice
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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]#!/usr/bin/env python
import this[/code]
Antworten