Show how to return values to python generator

This commit is contained in:
2022-07-29 21:59:11 +02:00
parent 50825985b7
commit 2a29096d17

View File

@@ -1,6 +1,6 @@
:PROPERTIES:
:ID: 67410dad-d959-4029-b281-9bf1c9e69ede
:mtime: 20220529131239
:mtime: 20220729213822
:ctime: 20220529123824
:END:
#+title: Generator
@@ -94,5 +94,45 @@ print(f'{sum(square(fibonacci_numbers(30))) = }')
#+RESULTS:
: sum(square(fibonacci_numbers(30))) = 1120149658760
* Renvoyer une valeur à un /generator/
#+BEGIN_SRC python :results output
def dummy_generator():
i = 0
for i in range(10):
print(f'from generator {yield i}')
generator = dummy_generator()
received = generator.send(None)
print(f'from here {received}')
try:
while True:
received = generator.send(received + 100)
print(f'from here {received}')
except StopIteration:
pass
#+END_SRC
#+RESULTS:
: from here 0
: from generator 100
: from here 1
: from generator 101
: from here 2
: from generator 102
: from here 3
: from generator 103
: from here 4
: from generator 104
: from here 5
: from generator 105
: from here 6
: from generator 106
: from here 7
: from generator 107
: from here 8
: from generator 108
: from here 9
: from generator 109
* Références
* [[https://blog.devgenius.io/what-is-generator-in-python-and-how-does-it-work-e6e0588785c3][What Is Generator in Python and How Does It Work ? - Medium]]