Hlavní navigace

Názor k článku Létající cirkus (10) od Beda Kosata - Dalsi pekny clanek. Stalo by ale asi za to...

  • Článek je starý, nové názory již nelze přidávat.
  • 26. 4. 2002 9:07

    Beda Kosata (neregistrovaný)

    Dalsi pekny clanek.
    Stalo by ale asi za to vysvetlit na prikladu k cemu jsou vlastne generatory dobre. Jejich hlavni vyznam vidim v tom, ze umoznuji do pythonu zavest "lenost" (laziness) znamou z funkcionalniho programovani. Napr.

    for i in range(10000):
    ____if i == 5:
    ________break

    nejprve vytvori list o 10000 polozkach a potom pri iteraci precte jen 6. Oproti tomu:

    for i in xrange(10000):
    ____if i == 5:
    ________break

    pri pouziti xrange, coz je vlastne range prepsany jako generator, se vygeneruje pouze tech 6 hodnot vzdycky az kdyz jsou treba (coz v tomto pripade usetri spoustu pameti i casu).
    Lze takhle vytvaret napr. nekonecne generatory, pokud z nich pak pouzijete jen urcitou cast (treba nejaky iterativni vypocet, ktery stale konverguje k presne hodnote a jen na vas je jakou chcete presnost a kolik polozek si z nej vezmete).