Какая разница между следующими двумя функциями генератора?
def get_primes(number):
while True:
if is_prime(number):
number = yield number
number += 1
И:
def get_primes(number):
while True:
if is_prime(number):
yield number
number += 1
Насколько я понимаю, я могу назвать их так:
p = get_primes(0)
# first call works for both
next(p) # or p.send(None)
# second call different for both
next(p) # works for second way only
p.send(14) # works for first way only
Я думаю, моя проблема в том, что я не совсем понимаю, как работает send
и как он устанавливает значение и все.