08:40 pm - Par Python ģeneratoriem
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