Générateur attribut d'une classe
Bonjour,
Il y a un truc que je ne comprends pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def gen():
for i in range(1, 10):
yield i
a = gen()
b = gen()
print(next(a), next(a), next(b))
class X():
gen = gen()
x = X()
y = X()
print(next(x.gen), next(x.gen), next(y.gen)) |
Output:
Je ne comprends pas pourquoi la dernière ligne est "3" au lieu d'être "1". Pourquoi le générateur de l'objet "y" est-il affecté par le générateur de l'objet "x"? Pourquoi n'en va-t-il pas de x et de y comme de a et de b?