Bonjour,
J'me pose une colle, comment faire référer une variable d'une méthode à un attribut ?
J'espère ne pas me tromper dans les termes.
Exemple N°1 :
1 2 3 4 5 6 7 8 9 10 | >>> class C_1(): ... vList = ['1','2','3'] ... def meth_1 (self, var): ... for i in var: ... var[var.index(i)] = '0' ... >>> A=C_1() >>> A.meth_1(A.vList) >>> A.vList ['0', '0', '0'] |
Dans l'exemple 1, la ligne N°4 var
prend bien en compte l'argument de la méthode qui est un attribut de l'objet en cours et affecte bien le '0' à chaque terme.
Exemple n°2:
1 2 3 4 5 6 7 8 9 | >>> class C_2(): ... vStr='1' ... def method_2(self, var): ... var = '0' ... >>> B = C_2() >>> B.method_2(B.vStr) >>> B.vStr '1' |
Pour l'exemple n°2, à la ligne n°4 var
ne prend plus en compte que ce quelle contient est un attribut de l'objet en cours.
Donc si je comprend bien var
de l'exemple n°2 est considérer comme une variable local à sa méthode (Et donc elle boycotte l'attribut qui était passé en paramètre) ?
Si oui, alors comment faire pour que var
soit bien interprété comme l'attribut en question (:L'équivalent de self.vStr
)
Merci
+0
-0