- Генераторы — это прекрасная штука. И тут появляется он, йилд:
-
- Для понимания, что делает yield, необходимо понимать, что такое генераторы. Генераторам же предшествуют итераторы
- ...
- Всё, к чему можно применить конструкцию «for… in...», является итерируемым объектом: списки, строки, файлы…
- ...
- Генераторы это тоже итерируемые объекты, но прочитать их можно лишь один раз. Это связано с тем, что они не хранят значения в памяти, а генерируют их на лету
- ...
- Yield это ключевое слово, которое используется примерно как return — отличие в том, что функция вернёт генератор
-
- habrahabr.ru/blogs/python/132554
-
- Я для себя уяснил тему генераторов и йилда после написания такого кусочка кода:
-
def fib(): a, b = 0, 1 while 1: yield b # return and continue a, b = b, a+b if b > 100: return def testYeld(): """ yeld example (http://www.python.org/dev/peps/pep-0255/) """ print 'Fibonacci by generator func, aka yeld op: ', list(fib()) print 'iterate by hand:' gen = fib(); ln = '' for x in gen: ln += str(x) + ', ' print ln |
- И немного серебрянки.
- Нормальное, кастомизированное контекстное меню (ПКМ) для Silverlight-ных аппликух: c-sharpcorner.com/uploadfile/dpatra/right-click-and-context-menu-in-silverlight-4
-
Комментариев нет:
Отправить комментарий