Posté par FantastIX .
En réponse au message détecter \.
Évalué à 3.
Dernière modification le 14 juin 2020 à 11:28.
Pour info: le mot self n'est ni un mot-clé ni un mot réservé, c'est une convention d'écriture servant à discerner les méthodes (fonctions membres d'une classe) des fonctions non membres. Donc si tu vois le mot self apparaître dans la liste des arguments à l'appel d'un objet, ce dernier est une fonction membre d'une classe. De plus, il n'apparaît (en premier) dans les arguments d'un appel que lors des appels à l'intérieur des fonctions membres d'une même classe — d'où... self .
Si tu définis une fonction à l'intérieur de la définition d'une classe, comme ceci:
classFoo(object):deffoo():# foo() est un objet de type 'fonction' de la classe Fooprint('In Foo.foo!')
L'objet foo() est une fonction de la classe Test (attention, ce n'est ni une méthode ni une méthode de classe, cette dernière étant un autre concept):
Foo.foo()
Sachant cela, on définit donc une méthode à l'aide de l'indice 'self':
classBar(Foo):defbar(self):# bar() est une méthode de la classe Barprint('In Bar.bar...')defbaz(self):# Appeler la méthode bar:bar(self)# Appeler l'objet fonction de Foo:Foo.foo()# On peut aussi appeler foo() de cette manière, grâce à l'héritage:__class__.foo()obj=Bar()# Appeler une méthode de Bar via une de ses instancesobj.bar()obj.baz()
[^] # Re: ok
Posté par FantastIX . En réponse au message détecter \. Évalué à 3. Dernière modification le 14 juin 2020 à 11:28.
Pour info: le mot
selfn'est ni un mot-clé ni un mot réservé, c'est une convention d'écriture servant à discerner les méthodes (fonctions membres d'une classe) des fonctions non membres. Donc si tu vois le motselfapparaître dans la liste des arguments à l'appel d'un objet, ce dernier est une fonction membre d'une classe. De plus, il n'apparaît (en premier) dans les arguments d'un appel que lors des appels à l'intérieur des fonctions membres d'une même classe — d'où... self .Si tu définis une fonction à l'intérieur de la définition d'une classe, comme ceci:
L'objet
foo()est une fonction de la classe Test (attention, ce n'est ni une méthode ni une méthode de classe, cette dernière étant un autre concept):Sachant cela, on définit donc une méthode à l'aide de l'indice 'self':