¿Existe una función de Python que verifique si se inicia un generador?
Intento definir una función de generador.mycount()
que se puede reiniciar con la función de generadorsend(0)
como en el siguiente ejemplo. Todo funciona bien, excepto cuando lo uso.send(0)
en un nuevo objeto generador que aún no ha comenzado. En este caso da unaTypeError
. ¿Hay alguna función que verifique si el generador ha arrancado o tengo que detectar elTypeError
y crear un nuevo objeto generador conmycount(0)
¿En tal caso?
def mycount(value):
while True:
v = yield value
if v == None:
value = value + 1
else:
value = v
g = mycount(3)
print(next(g)) # prints 3
print(next(g)) # prints 4
print(g.send(0)) # prints 0
print(next(g)) # prints 1
print(next(g)) # prints 2
g2 = mycount(3)
g2.send(0)
# TypeError: can't send non-None value to a just-started generator