Bonjour,

Il y a un truc que je ne comprends pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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?