S'ils vous plaît est ce que qq un peut m'expliquer l'utilité du mot clé self en python.
Cordialement
-----
16/03/2019, 14h18
#2
pm42
Date d'inscription
juillet 2015
Messages
14 579
Re : Self en python
La même que this dans les autres langages objets : cela référence l'objet courant et permet de le passer à un autre.
Sauf qu'en python, ce n'est pas implicite et qu'il sert aussi à invoquer une autre méthode sur soi même.
Ceci dit, c'est difficile de te donner des détails sans savoir ce que tu connais en programmation objet.
16/03/2019, 14h59
#3
invite75c2964e
Date d'inscription
janvier 1970
Messages
166
Re : Self en python
Je suis débutant en python, je viens just de commencer la poo avec python
16/03/2019, 15h09
#4
pm42
Date d'inscription
juillet 2015
Messages
14 579
Re : Self en python
Envoyé par Leond95
Je suis débutant en python, je viens just de commencer la poo avec python
Comme je disais, python complique un peu la compréhension.
Maintenant, imagines que tu as construit un objet Toto. Maintenant, tu veux depuis une méthode de Toto construire un objet Tata qui prend comme argument ton Toto, celui que tu viens juste de construire.
Tu vas écrire :
Code:
t = Tata(self)
Pour dire à Tata : prends moi.
Aujourd'hui
A voir en vidéo sur Futura
17/03/2019, 00h48
#5
invite75c2964e
Date d'inscription
janvier 1970
Messages
166
Re : Self en python
Ok j'ai compris merci beaucoup
17/03/2019, 12h50
#6
polo974
Date d'inscription
février 2007
Messages
8 945
Re : Self en python
Petite précision, self n'est pas un mot clé, c'est une variable passée (référence de l’instanciation courante) en premier paramètre des fonctions de la classe.
Et par convention, on la nomme self.
On peut donc changer de nom, par exemple pour un truc perso, ou self.*** me gavait, j'avais fini par raccourcir à s.***, ce qui donne:
je ne dis pas que c'est mieux, mais c'est faisable quand on se comprend...
Jusqu'ici tout va bien...
17/03/2019, 12h55
#7
pm42
Date d'inscription
juillet 2015
Messages
14 579
Re : Self en python
Envoyé par polo974
je ne dis pas que c'est mieux
Sauf si on programme pour soi tout seul dans son coin et qu'on est sur que personne d'autre ne va jamais lire son programme, c'est à éviter absolument.
Même si effectivement, l'omniprésence de self en Python alors que c'est massivement implicite dans les autres langages est très lourde.
17/03/2019, 13h59
#8
polo974
Date d'inscription
février 2007
Messages
8 945
Re : Self en python
bah, je ne serais pas aussi radical, car c'est autorisé et ça reste lisible.
et puis, c'est moins grave que de mélanger les espaces et les tabulations... (en python2 quasi obsolete)
Là, c'est diabolique ! ! !