печально быть антисоциальным - Par Python ģeneratoriem

Nov. 27th, 2003

08:40 pm - Par Python ģeneratoriem

Previous Entry Add to Memories Tell A Friend Next Entry

Niekojoties ar parseriem, uzskrēju virsū ģeneratoriem:

def fib():
a, b = 0, 1
while 1:
yield b
a, b = b, a+b

sequence = fib()

for element in range(10):
print sequence.next()




Rezultāts:
1
1
2
3
5
8
13
21
34
55

No saucēja puses tas izskatās, kā forward iterators, no f-jas puses tas izskatās, kā callback mehānisms.

Labāki par listu apstrādēm ir tapēc, ka aizņem mazāk atmiņas, jo funkcija tiek saukta katrai vērtībai atsevišķi, kā arī iespējams rakstīt vienkāršāku kodu.

Iespējamie pielietojumi: teksta apstrāde parsējot, db ierakstu apstrāde tos nolasot.

PEP 225: Simple Generators

(Leave a comment)