Questions de variables help
capa57
Messages postés
383
Statut
Membre
-
tyrtamos Messages postés 4 Statut Membre -
tyrtamos Messages postés 4 Statut Membre -
Bonjour,
J'ai une question je débute en python...
x,y, u,v = u,v, x-(q*u),y-(q*v)
si je devrais développer ça... est-ce bien la même chose que :
x = u;
y = v;
u = x-(q*u);
v = y-(q*v);
??
Cordialement,
Capa57.
J'ai une question je débute en python...
x,y, u,v = u,v, x-(q*u),y-(q*v)
si je devrais développer ça... est-ce bien la même chose que :
x = u;
y = v;
u = x-(q*u);
v = y-(q*v);
??
Cordialement,
Capa57.
2 réponses
-
-
Bonjour,
Ce n'est pas tout à fait la même chose. Dans le 1er cas, toutes les expressions à droite du signe égal sont exécutées, avant les affectations avec les variables situées à gauche du signe égal.
Dans l'exemple présenté, la 3ème expression "x-(q*u)" utilisera la valeur initiale de x. Par contre, avec les lignes séparées, cette même expression utilisera la nouvelle valeur de x=u
Il faut donc se méfier de cette instruction condensée, mais elle permet des astuces intéressantes, par exemple d'échanger 2 valeurs sans nécessité d'une 3ème variable:
a, b = b, a
au lieu de:
c = b b = a a = c