[python] Generátory
Jan Janech
devel na atlas.sk
Středa Srpen 20 10:39:12 CEST 2008
Dobry den,
zakazdym ked zavolate generatorovu metodu, tak sa generator inicializuje
nanovo. Takze:
def generatorCisel():
yield 1
yield 2
yield 3
Spravi:
>>> generatorCisel().next()
1
>>> generatorCisel().next()
1
Ale:
>>> tmp = generatorCisel()
>>> tmp.next()
1
>>> tmp.next()
2
>>> tmp.next()
3
Calis.martin na seznam.cz wrote:
> Dobrý den, nedávno jsem se rozhodl použít z jistých důvodu generátory. Každopádně pokud mam script:
>
> --------------------------------------------------------------------------------------
> class Trida:
> ...def __init__(self):
> ......self.seznam = []
>
> ...def metoda(self, jedna, dve):
> ......for promnena in self.seznam[jedna][dve]:
> .........yield promnena
>
> ...def metoda2(self, jedna, dve):
> ......print self.seznam[jedna][dve]
>
> priklad = Trida()
>
>>>> print priklad.metoda(1,1)
> <generator object at 0x00B550D0>
>>>> print priklad.metoda(1,1).next()
> ['...', 'Vykuchejte blbou rybu!']
>>>> print priklad.metoda(1,1).next()
> ['...', 'Vykuchejte blbou rybu!']###nevite proc mi to znovu vytisklo predchozi vysledek?
>>>> priklad.metoda2(1,1)
> [['...', 'Vykuchejte blbou rybu!'], ['...', '...']]
> None
> ---------------------------------------------------------------------------------------
>
> Nevíte proč nefunguje next() tak jak má?
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>
>
--
____________________________
Ing. Jan Janech
Katedra softverovych technologii
Fakulta riadenia a informatiky
Zilinska Univerzita
Další informace o konferenci Python