Python #12 - méthodes
Summary
TLDRDans cette séance 12 de la formation sur le langage Python, l'enseignant aborde le concept de méthodes en programmation orientée objet. Il explique que les méthodes sont des fonctions liées à une instance de classe, ou un objet, et présente également les méthodes de classe et les méthodes statiques. Le script illustre la création de méthodes avec des exemples simples, comme la définition d'une méthode 'parler' pour un objet 'Humain'. L'enseignant insiste sur la différence entre ces types de méthodes et leur utilité respective, encourageant les apprenants à pratiquer et à poser des questions pour approfondir leur compréhension.
Takeaways
- 😀 La vidéo traite de la programmation orientée objet en Python, en se concentrant sur les méthodes.
- 🏫 Elle est la suite de la session 11, où les classes et les instances ont été introduites.
- 📚 Les méthodes sont des fonctions liées à une instance de classe, appelées aussi objets.
- 🔑 Les méthodes de classe sont des fonctions qui agissent sur la classe elle-même, indépendamment des instances.
- 🔒 Les méthodes statiques sont des fonctions définies dans une classe mais qui peuvent être appelées sans dépendre de l'instance ni de la classe.
- 👤 L'exemple donné est la classe 'Humain', avec des attributs tels que le nom et l'âge, et des méthodes pour interagir avec ces attributs.
- 📝 La différence entre les méthodes d'instance (standard), de classe et statiques est expliquée en détail.
- 📚 Les méthodes d'instance utilisent 'self' pour se référer à l'instance, tandis que les méthodes de classe utilisent 'cls'.
- 🛠️ Les méthodes de classe sont déclarées avec '@classmethod' et modifient généralement des attributs de classe.
- 🔄 Les méthodes statiques sont déclarées avec '@staticmethod' et sont appelées de manière indépendante de la classe ou des instances.
- 📈 L'importance de comprendre ces trois types de méthodes est soulignée, bien que leur utilité ne soit pas immédiatement évidente pour les débutants.
Q & A
Quelle est la différence entre une méthode d'instance et une méthode de classe en Python?
-Une méthode d'instance, aussi appelée méthode d'objet, est liée à une instance de classe et agit sur les attributs de cette instance. Une méthode de classe, quant à elle, fonctionne sur la classe elle-même et peut être appelée sans instancier d'objet, elle modifie généralement des attributs de classe.
Comment créer une méthode d'instance dans une classe Python?
-Pour créer une méthode d'instance, on utilise le mot-clé 'def' suivi du nom de la méthode et du paramètre 'self', qui fait référence à l'instance de la classe. Par exemple, 'def parler(self, message):'.
Quel est le rôle du paramètre 'self' dans les méthodes d'instance?
-Le paramètre 'self' est utilisé pour faire référence à l'instance de la classe courante, permettant ainsi à la méthode d'accéder et de modifier les attributs de cette instance.
Comment appeller une méthode d'instance dans une instance de classe?
-Pour appeler une méthode d'instance, on utilise le point ('.') suivi du nom de l'instance, du nom de la méthode et des paramètres nécessaires. Par exemple, 'H1.parler("Bonjour")'.
Quels sont les types de méthodes que l'on peut définir dans une classe Python?
-On peut définir trois types de méthodes dans une classe Python : les méthodes d'instance, les méthodes de classe et les méthodes statiques.
Quelle est la différence entre une méthode de classe et une méthode statique?
-Une méthode de classe modifie ou accède à des attributs de classe et est appelée avec la classe comme premier argument (clé mot 'cls'). Une méthode statique, quant à elle, est indépendante de l'instance et de la classe et ne prend pas de paramètres spécifiques à la classe ou à l'instance.
Comment marquer une méthode en tant que méthode de classe dans Python?
-Pour marquer une méthode en tant que méthode de classe, on utilise le décorateur '@classmethod' et on passe le nom de la classe en premier paramètre de la méthode, généralement 'cls'.
Quel est le but des méthodes statiques dans une classe Python?
-Les méthodes statiques sont utilisées pour des fonctions utilitaires qui sont liées à la classe mais qui ne nécessitent pas d'instance ni d'accès aux attributs de la classe. Elles peuvent être appelées directement via la classe sans instanciation.
Comment appeller une méthode de classe ou une méthode statique dans Python?
-Les méthodes de classe et les méthodes statiques sont appelées via la classe elle-même, en utilisant le nom de la classe suivi du point et du nom de la méthode. Par exemple, 'Humain.changer_planete(Mars)' pour une méthode de classe.
Pourquoi utiliser des méthodes dans les classes et non des fonctions séparées?
-Les méthodes sont utilisées pour regrouper des fonctions qui opèrent sur les données d'une instance ou de la classe, créant ainsi une structure plus organisée et une meilleure encapsulation des données et des fonctionnalités associées.
Quel est l'intérêt de la notion de classe et d'objet en programmation orientée objet?
-L'intérêt de la notion de classe et d'objet en programmation orientée objet est de permettre une meilleure organisation du code, en regroupant les données (attributs) et les fonctions qui les manipulent (méthodes), et en facilitant ainsi la réutilisation et la maintenance du code.
Outlines
📘 Introduction aux méthodes en Python
Ce paragraphe introduit le sujet des méthodes dans le contexte de la programmation orientée objet en Python. Il rappelle les notions de classes et d'instances vues précédemment et annonce l'approfondissement sur les méthodes, qui sont des fonctions liées à une instance de classe. L'objectif est de clarifier les concepts de méthodes d'instance, de méthodes de classe et de méthodes statiques à travers des exemples concrets, comme la création d'une classe 'Humain' avec des attributs de nom et d'âge.
📗 Création de méthodes d'instance
Dans ce paragraphe, l'auteur se concentre sur la création de méthodes d'instance, qui sont des fonctions associées à une instance spécifique d'une classe. Il illustre cela avec l'ajout d'une méthode 'parler' à la classe 'Humain', qui permet à une instance de cette classe d'afficher un message. L'exercice montre comment définir une méthode en utilisant le mot-clé 'def', comment l'appeler sur une instance et comment passer des paramètres à cette méthode.
📙 Méthodes de classe et attributs de classe
Le paragraphe explique les méthodes de classe et les différences avec les méthodes d'instance. Les méthodes de classe opèrent sur la classe elle-même plutôt que sur une instance spécifique. L'exemple donné est la modification de l'attribut de classe 'lieu_habitation' pour toutes les instances de la classe 'Humain'. Il est également question de la syntaxe pour définir une méthode de classe en utilisant le mot-clé '@classmethod' et le paramètre 'cls' pour référencer la classe.
📕 Méthodes statiques et leur indépendance
Ce paragraphe aborde les méthodes statiques, qui sont indépendantes de la classe et de ses instances. Elles ne nécessitent pas de référence à une instance ou à la classe elle-même pour être appelées. Un exemple de méthode statique 'definition' est créé dans la classe 'Humain', montrant comment elle peut être utilisée sans créer d'objet. L'auteur souligne que ces méthodes sont utiles pour des fonctionnalités qui ne sont pas directement liées à la logique métier de la classe.
📔 Récapitulation et anticipation de la suite
En conclusion, le paragraphe résume les trois types de méthodes vus tout au long de la vidéo : les méthodes d'instance, les méthodes de classe et les méthodes statiques. Il encourage les téléspectateurs à les retenir et à comprendre leur utilité dans différents contextes de programmation. L'auteur annonce également le prochain sujet de la formation, qui sera les propriétés en programmation orientée objet, et invite les téléspectateurs à s'entraîner et à poser des questions.
Mindmap
Keywords
💡Langage Python
💡Classes
💡Attributs
💡Instance de classe
💡Méthodes
💡Méthodes de classe
💡Méthodes statiques
💡Programmation orientée objet
💡Constructeur
💡Paramètres
Highlights
Introduction à la programmation orientée objet avec Python : Explication des classes, attributs et instances.
Création de la première classe et instanciation pour créer des objets.
Les méthodes en Python : fonctions liées à une instance de classe.
Différence entre les méthodes d'instance, de classe et statiques.
Utilisation de 'self' pour les attributs et méthodes d'instance.
Création d'une méthode 'parler' pour l'instance d'un objet humain.
Appel de la méthode 'parler' sur une instance d'objet humain.
Explication de la syntaxe et utilisation des méthodes de classe avec 'cls'.
Modification de l'attribut de classe 'lieu_habitation' à travers une méthode de classe.
Utilisation de la décoration @classmethod pour définir une méthode de classe.
Méthodes statiques : fonctions indépendantes de l'instance et de la classe.
Définition d'une méthode statique 'definition' dans la classe humain.
Appel direct d'une méthode statique sans instance ni classe.
Importance de comprendre les utilisations des trois types de méthodes.
Pratique recommandée : Manipuler et créer des programmes pour bien comprendre les méthodes.
Préparation à la prochaine vidéo sur les propriétés en programmation orientée objet.
Encouragement à poser des questions et à interagir pour une meilleure compréhension.
Transcripts
[Musique]
bonjour à tous bienvenue pour votre
séance numéro 12 vous êtes sur la
formation langage Python la dernière
fois nous avions vu les classes
attributs vous avez appris à créer votre
première classe à la définir et ensuite
l'instancier ce qu'on appelle tout
simplement une instance de classe
c'est-à-dire un objet donc ce sont les
choses que nous avions vu précédemment
on sétait arrêté là je vous avais dit
que nous poursuivions nous allons nous
allons poursuivre pardon pour la suite
des vidéos aujourd'hui nous allons
parler de méthode donc cette vidéo sera
quand même assez courte puisque je
préfère comme ça parler de plusieurs
catégories différentes par vidéo plutôt
que d'en faire trop dans une seule
histoire que ce soit bien clair pour
vous vous puissiez avancer correctement
alors là on va revenir sur des petites
choses qu'on avait expliqué en
introduction vous vous souvenez dans la
vidéo d'introduction la séance 10 je
m'éis amusé en fait à vous donner
plusieurs termes et à vous donner une
petite définition très brève encore une
fois où ça vous permettait comme ça de
voir un peu ce qui allait vous attendre
dans pour la suite en tout cas de la
formation sur tout ce qui est
programmation orienté objet aujourd'hui
nous parlons que des méthodes si vous
vous souvenez un petit peu dans les
notes un petit peu précédentes j'avais
grosso modo repris ces trois termesl pas
forcément avec les mêmes définitions
j'ai pas fait du copier-collé je vous ai
repris un petit peu les choses vous avez
parlé de méthode donc c'est ce que nous
allons parler c'est tout simplement une
fonction qui va être liée à une instance
de classe donc un objet vous verrez
comment on va apprendre à en créer à les
utiliser on parlera ensuite de méthodes
de classe qui elles sont vraiment des
fonctions qui vont agir sur la classe
elle-même pas forcément une instance
d'un objet en particulier et on aura les
méthodes statiques donc une méthode
statique elle va être écrite dans une
classe en particulier mais elle en sera
indépendante c'est vous pourrez
l'utiliser en fait n'importe quand par
contre il faudra bien évidemment
renseigner la classe dans laquelle vous
l'avez écrite donc c'est pour ça que
j'ai mis que c'est lié entre entre
guillemets à une classe puisquelle doit
évidemment être définie dans une classe
sinon bah vous pouvez pas l'utiliser
tout simplement on va du coup
directement créer une petite classe pour
l'exemple et on va montrer comment on
peut justement définir des méthodes
alors on va faire simplement euh classe
par
exemple est-ce qu'on peut prendre comme
classe est-ce qu'on peut changer
d'exemple je cherche un petit exemple
fait qui pourrait être un peu différent
de ce qu'on a l'habitude de voir en
général je prends l'exemple des jeux
vidéo après je prendsemple des animaux
tout ça on vaendre l'exemple des humains
cétait bien clair l'autre fois on va
reprendre celuilà donc on va définir une
classe humain d'accord ça on avit parlé
l'autre fois et on avait fait ensuite un
petit alors on a mis bon voilà classe
pour les humains vous vous souvenez
donc ça c'est u pour quand on fait on
appelleu la fonction et ensuite on fait
notre
constructeur
aveobjet
lumecfir des paramètr pas mal DEES
choses par exemple
[Musique]
et rester sur ças simpement on lu
définir des attributs de classe enfin
des attributs même tout courts internes
en fait pour l'objet donc des attributs
d'instance plutôt donc self point nom
égal nom et self point H é= h voilà ça
c'est ce tout ce que nous avions vu
avant je vous rappelle qu'ici on est
dans le programme principal d'accord on
a quitté en fait la définition de la
classe et il suffisait par exemple de
faire euh H1 = humain d'accord et là bon
comme les deux paramètres sont
obligatoires on pouvait lui renseigner
un prénom et on pouvit lui renseigner un
âge par exemple d'accord ce genre de
chose voilà et à partir de là on pouvait
éventuellement afficher ses attributs en
affichant self.n self.age BF je vous
avais parlé un petit peu de tout ça
c'est des choses qu'on avait vu on s'est
arrêté là et le but c'est maintenant de
voir qu'est-ce qu'on peut ajouter à ça
parce que là notre humain il peut pas il
peut rien faire en fait tout simplement
il a quelques attributs donc ici un nom
et un âge mais il peut pas faire
grand-chose il a pas vraiment de la
particularité en tout cas de euh de
choses qu'il peut faire et pour cela on
va créer des méthodes une méthode comme
j'ai expliqué c'est une fonction propre
à une instance d'accord et comment ça se
crée bah ça se crée comme une fonction
c'està tout ce que vous avez vu encore
une fois sur la vidéo sur les fonctions
va vous va vous servir ici il suffit
simplement d'utiliser le mot-cé DEF
comme vous avez appris et de choisir un
nom donc à selon les mêmes règles de
nommage que pour les fonctions vous
choisissez un nom de méthode alors
n'utilisez pas évidemment les
doubles_erscore comme ça c'est réservé
notamment pour les méthodes spéciales du
langage Python dont on aura l'occasion
de parler dans des vidéos plus tard et
là vous choisissez un N tout bête al ça
peut être je sais pas moi n'importe quoi
euh ça peut être parler hein on peut on
peut mettre ce gen de chose donc on
remet le mot clé self bien sûr on met
message et puis on pourrait faire ça
alors complètement inutile comme typ
d'utilisation bien sûr mais c'est
histoire de vous montrer un petit peu et
là on peut dire par exemple euh je sais
pas
moi on va prendre la méthode format
parce que maintenant vous savez comment
he que on l'a montré dans la vidéo
précédent maintenant que vous connaissez
l'objet vous savez comment ça fonctionne
euh on va mettre ceci donc adit par
exemple hop ce genre de
chose et puis là donc au début je veux
que ça m'affiche le nom d'accord donc
vous voyez on peut faire directement un
accès au nom à l'attribut et ensuite
c'est le message voilà ce genre de chose
et du coup notre petit humain on va
pouvoir le faire parler donc on va lui
faire tout simplement comme c'est une
fonction propre à une instance d'accord
rappelez-vous est sur l'instance donc il
va falloir le faire sur l'instance donc
l'instance ici moi c'est quoi l'objet
c'est H1 donc je vais faire H1 et vous
mettez un point c'estàd que H1 il va
utiliser donc le point c'est pour pour
dire entre guillemets bah utilise voilà
l'objet H1 fait appel à la méthode
parler comme ceci et comme pour une
fonction vous rentrez les paramètres
qu'il faut donc moi il y en a qu'un seul
c'est le
message d'accord on pe mettre ce genre
de chose et on y va on va directement
tester donc là je fais python
voilà alors invalide syntaxe oui j'ai
oublié les deux points hop c'était juste
ça on recommence voilà d'accord donc il
prend bien le nom et il affiche le texte
que j'ai mis là et il affiche le petit
message donc du coup très pratique
puisque comme pour les fonctions comme
on avait vu précédemment on peut faire
parler du coup le personnage très
facilement comme ceci mais là bon rien
de nouveau hein c'est vraiment la même
chose que ce que vous avez vu avec les
fonctions je vous apprends rien du tout
du coup très pratique très simple à
faire d'accord des méthodes je vais pas
vous en dire plus que toute façon les
règles savez au niveau des paramètres
oblig obligatoires facultatifs qu'on
peut mettre dans lorsqu'on veut c'est
comme pour les fonctions donc si a un
truc qui est pas encore clair vous
revyez la vidéo sur les fonctions et
vous saurez utiliser tout ce que vous
avez appris pour les fonctions pour les
méthodes les méthodes c'est vraiment un
nom différent c'est pour bien savoir
qu'on parle de fonction propres euh ici
de fonction par rapport à de l'objet
alors que quand on parle juste de
fonction toute simple bon c'est une
fonction type procédural voilà c'est
pour ça qu'on distingue les mots
méthodes procédurees fonction ce sont
trois mots différents en fait qui
veulent dire la même chose c'est quelqu
c'est tout simplement un groupe de
d'instructions qu'on va rassembler
ensemble tout simplement voilà pour la
la création d'une méthode simple alors
je vous dis je vais pas je vais pas euh
venir je vais pas donner plus de détails
on peut faire bien évidemment un return
he on peut retourner quelque chose à une
méthode il y a pas de souci bref on
pourrait très bien par exemple mettre
une autre variable he je sais pas moi
une variable résultat qui récupérerait
par exemple le retour d'une méthode et
puis là par exemple on ferai je sais pas
moi euh on ferait un return de message
ce qui servira à rien mais c'est bien
évidment tout à fait possible d'accord
une méthode pour retourner quelque chose
elle est absolument comme une fonction
c'est vraiment la même chose c'est juste
qu'elle est propre ici à donc à une
classe puisquon l' créé dans une classe
classe et c'est une instance donc un
objet qui peut l'utiliser qui peut s'en
servir maintenant on peut avoir une
petite distinction parce que
rappelez-vous il y avait deux autres
méthodes il y a méthode de classe
qu'est-ce qu'une méthode de classe que
ça on pourrait dire c'est déjà une
méthode de classe puisqueelle est propre
à l'humain mais pas tout à fait alors
les termes sont un peu compliqués c'est
vrai que on va dire que ceux qui ont qui
ont inventé les langages qui ont inventé
un petit peu le vocabulaire comme ça
informatique sont pas ont pas toujours
été très clair là-dessus que c'est vrai
qu'une méthode par exemple ici parler
pour moi ça pourrait très bien appeler
ça une méthode de classe puisqueelle
appartient à humain mais pas tout à fait
pour ce n'est pas ça puisque ça agit sur
se c'estàdire une instance c'estàdire
l'objet H1 s'il n'y a pas d'objet créé
vous ne pouvez pas utiliser la méthode
parler c'est ça qu'il faut comprendre en
fait c'est qu'une méthode standard pouz
appeler ça appeler ça instance si vous
voulez si vous voulez leord donner TER
on peut l'appeler méthode d'instance à
la rigueur voilà une méthode d'instant
elle fonctionne que sur un objet ou
méthode d'objet on peut s'amuser à
appeler ça comme on veut au final donc
il faut créer un objet avant je pourrais
pas par exemple directement faire ceci
ça marcherait pas parce que H1 n'existe
pas et si on fait ça en mettant pardant
nom de la classe vous verrez que c'est
autre chose donc pas possible on est
vraiment obligé dans tous les cas de
créer une instance avant tout donc ça
c'est les méthodes standard je vais
regarder quand même le nom comme ça
qu'en général on l'appelle juste méthode
tout tout bêtement pour faire cette
cette méthode là on va parler maintenant
des méthodes de classe la méthode de
classe à la différence de la méthode ici
standard c'est qu'elle va fonctionner
sur la classe en elle-même c'estàd
qu'elle va pas fonctionner forcément ici
sur H1 qui F qui marcherait pas si par
exemple je faisais un objet H2 mais sur
la classe humain direct en fait ça va
vraiment directement à l'impact dessus
donc qu'est-ce qui va changer et bien
c'est ce qu'on va passer en paramètrre
alors qu'est-ce que je peux mettre
dessus j'en sais rien moi bah admettons
je sais pas je sais que c'est
complètement débile on a qu'à dire par
exemple qu'on veut que tous les humains
dès le départ ont on puisse à un moment
tous leur donner l'âge de allez l'âge de
50 ans pour je sais quelle raison c'est
parce que je veux il faut bien que je
vous donne un exemple et surtout un
exemple simple pour que ce soit
compréhensible donc on a qu'à faire par
exemple je sais pas moi initial
l'âge en partant principe que nous on
pourrait initialiser l'âge à 50 ans
d'accord on va donc agir sur la classe
c'està-dire cl d'ailleurs non je peux
pas faire ça parce que là dis n'importe
quoi en plus parce que là je vais
travailler sur une instance donc
excusez-moi c'est pas un bon exemple du
tout que je vous donne parce que c'est
pas sur une instance donc pour la pour
une méthode de classe on va directement
travailler sur la classe alors si
j'avais un attribut de classe
rappelez-vous ce qu'on avait vu
précédemment quand on met un attribut
ici on pourrait servir de méthode de
classe pour le modifier d'accord par
exemple ça peut être je sais pas moi
tiens je sais on peut
faire lieu habitation
d'accord par exemple OK et la terre par
défaut voilà et on pourrait dire par
exemple changer planète alors c'est
vraiment un exemple bizarre d'accord que
je vous donne mais c'est pas grave donc
ça rappelez-vous pareil c'est dans la
vidéo précédente qu'on l'a vu c'était un
attribut de classe c'estd qu'il est pas
lié à une instance il y a pas de self
c'est euh pour chaque objet et on y
accéderit souvenez-vous en faisant ceci
le nom de la classe Point le nom de
l'attribut d'accord céit la différence
alors que là pour accéder à un attribut
d'objet il suffit de mettre H1 point par
exemple nom ou h1.h comme on a fait en
fait un petit peu ici sauf que là on a
mis self donc c'était la différence et
bien c'est un peu pareil c'estàdire que
ça comme c'est lié non pas à une
instance mais à toute la classe c'estd
que c'est pour n'importe quel humain on
aura lieu d'habitation qui est la terre
je peux très bien faire une méthode qui
va travailler sur des choses qui sont
lié à une classe donc on va lui passer
le mot clé CLS pour classe tout
simplement donc voyez c'est pas self on
met CLS c'est là toute la différence
quand vous voyez le mot self c'est une
méthode je mettre ici par exemple self
méthode standard d'accord quand vous
voyez CLS c'est une méthode de classe
voilà ça vous pouzidentifier facilement
je mettre les deux points et on verra
après pour les méthodes statique justuse
à la fin ici et là du coup on peut
modifier quelque chose par exemple moi
changer planète je fais ça puis je vais
mettre
nouvelle planète pourquoi
pas et là je vais tout simplement dire
que le lieu d'habitation alors même
humain point lieu d'habitation il est
égal à la nouvelle planète donc on va
arrêter de faire parler le bonhomme on
va tester de base regardez ce qu'on va
faire on va faire un print on va lui
dire planète actuelle hop et on va
mettre avec format
donc c'est
humain.lieuabitation d'accord ça c'est
une syntaxe vous normalement vous
comprenez tout ça on l'a vu précédemment
formate l'attribut un attribut de classe
tout ça c'est vu précédemment donc on va
faire ça on va le faire une deuxième
fois ensuite après résultat et entre
deux on va utiliser ça d'accord donc
benah écoutez je vais la méthode de
classe on va directement l'appeler par
rapport à ça je vais faire tout
simplement un changement au niveau de
cette fonction par contre c'est pas
suffisant là si je mets que ceci ça ne
marchera pas parce que en fait pour
Python pour lui là c'est pas une méthode
de classe d'accord c'est pas suffisant
pour lui ça va être une méthode standard
ici parce que je n'ai rien qui a permis
de dire tiens considère ça comme une
méthode de classe on va pour cela
utiliser un terme différent alors ça se
met ici d'accord dans la classe he ça se
met pas au niveau de la la fonction vous
voyez je me mets au même niveau que les
def partout là puis que la l'attribut de
classe donc ici et je vais tout
simplement créer une sorte de variable
d'accord et je vais dire par exemple bon
je vais lui mettre le même nom he je
peux mettre par exemple changer planète
en général on fait ça on s'embête pas et
je lui dis que changer planète d'accord
ça va être en fait une méthode de classe
donc je vais utiliser le terme class
methode d'accord donc en anglais et
entre parenthèses quelle méthode va
devenir une méthode de classe donc
celle-là ou je m'embête pas je mets le
même nom ok comme ça je je m'embête pas
et là du coup à partir d'ici vous voyez
comme pour l'attribut de classe on a
défini une méthode de classe et donc en
faisant humain point Chang planète donc
je rappelle que changer planèt que je
mets ici c'est ça en fait ok donc là
c'est par exemple je l'appelis ch il
faudrait mettre ch pourtant la méthode
voyez que c'est changé planète ok
histoire de pas vous tromper donc je
mettre comme céta voilà changer planète
et bien sûr je mettre le paramètre qu'
attend la mars OK et là si je n'ai pas
fait de bêtis vous voyez que ça
fonctionne j'ai changé la planète des
êtres humains donc tous les tous les
objets qu'on va créer humains il sont
tous sur la planète Mars à partir du
moment où je vais changer donc ici
puisque j'ai modifié un attribut de
classe d'accord donc c'était pas lié à
l'oget H1 vous voyez là on a jamais une
seule fois parlé de cet humain là on a
fait carrément un changement sur la
classe en elle-même on a jamais une
seule fois fait intervenir le l'objet
que j'avais créé donc c'est ça la
différence avec un une méthode de classe
le mot- clé CLS en premier paramètre de
la méthode et ensuite vous mettez cette
petite ligne très importante donc vous
la mettez après par exemple la
définition la méthode comme ça voilà
vous êtes sûr que c'est c'est ensemble
vous pouz mettre comme ça si vous voulez
mais attention pas dans la méthode c'est
vraiment en dehors puisque c'est une
méthode de classe donc c'est défini dans
la classe voilà et on terminera cette
vidéo avec une dernière chose les
méthodes statiques une méthode statique
c'est ça c'est lié comme je ai dit à une
classe mais elle est indépendante
c'est-à-dire qu'en fait c'est un peu une
classe qui peut être utilitaire une
classe qui va permettre de faire
certaines choses mais qu'on peut appeler
un petit peu n'importe comment encore
une fois sans avoir d'objet instancier
et sans forcément travailler sur la
classe elle-même c'est qu'on n'est pas
obligé de travailler sur la classe on
peut juste par exemple afficher un
message ou enfin je je ne sais quoi en
fait on peut faire tellement plein de
choses après vous enverrez peut-être
l'utilité à un certains moment d'autres
pas du tout mais je vous montre quand
même évidemment que ça existe et comment
en faire donc même chose on va faire un
def euh qu'est-ce qu'on peut faire je
sais pas moi qu'est-ce qu'on peut mettre
euh bah tiens par exemple
définition d'accord on va mettre ceci je
mets rien comme paramètrre OK et bon
elle fera quelque chose très simple par
exemple je sais pas moi euh
cler comme étant le plus ha être
vivant je metsite d'cord de la chaîne
alimentaire on s'en fiche mais plus
ça pas si je fais
ça je préfère la rig laisser sur une
seule ligne voilà
ok donc ça j'ai fait ma petite ma petite
méthode en fait définition donc en vrai
c'est une méthode donc bon là vous allez
dire elle est un peu liée à la classe
quelque part parce que je parle des
humain mais j'aurais pu parler de la
pluie de be temp ça aurait été la même
chose elle est définie dans la classe
humain effectivement c'est bien là voz
dans le corps de la classe humain que je
l'ai créé et même chose je vais dire par
exemple je sais pas moi j'aurais pu dire
kesako parle qu'est-ce qu'un humain ce
genre de chose on va mettre pareil
définition et non pas la classe méthode
comme je l'ai fait ici d'accord mais
statique
OK
on utilise le mot là statique méthode et
on dit laquelle est une méthode statique
donc définition et voilà et comment je
l'utilise bah tout simplement j'ai même
pas besoin de faire ça en fait on peut
vraiment tout virer pour montrer que ça
fonctionne je dis que dans la classe
humain j'utilise la méthode statique
définition tout simplement et là si je
fais mon test voilà on peut utiliser
donc directement des méthodes de cette
manière donc c'est vraiment indépendant
d'accord ça peut être appelé n'importe
quand c'est pas li un objet une instance
c'est pas forcément on n'est pas obligé
de travailler forcément sur une classe
voyez qu'on passe pas le mot clé CLS là
on est vraiment complètement indépendant
par contre comme je parle des humains
ben je l'ai mis dans ma classe humaine
parce que ça les concerné c'est pour ça
que j'ai dit ici que c'était lié quand
même à une classe parce que par exemple
cette cette méthode là je va pas aller
la mettre dans une classe animale ça
parle des humains ce serait un peu
bizarre donc faut quand même qu'elle
soit on va dire catégorisé qu'elle soit
rangée quelque part là où il faut par
contre elle est vraiment indépendante
aussi bien de des instances qu'on peut
créer que de la classe et on en
terminera avec ça vous avez dit cé une
petite vidéo courte histoire de faire
une petite pause avant la suite la
prochaine devrait pas être trop trop
long normalement mais maintenant vous
savez comment faire des méthodes donc
retenez vraiment ces trois types là la
méthode standard ouaeler la méthode
d'instant si vous voulez ou d'objet pour
un objet vous avez la méthode de classe
c'est vraiment un terme très utilisé et
la méthode statique c'est trois petites
choses à savoir elles ont chacune leur
utilité retenez surtout la méthode
standard bien évidemment ça vous en
aurez des fois usage pas toujours mais
ça peut être parfois pas mal utile et
méthode statique pareil mais là au stade
où vous en êtes de cette formation vous
n'en verrez pas l'utilité et c'est
parfaitement normal c'est pas que c'est
inutile c'est pas que si ne voyez pas à
quoi ça sert là tout de suite c'est
parfaitement normal quand vous aurez un
peu plus d'expérience quand vous aurez
vraiment plus manipulé fait des
programmes en python vous trouverez
certains moment vous dire bah tiens ah
oui effectivement là je peux peut-être
faire une méthode statique ça peut être
la solution à mon problème donc vous en
faites pas mettez-le notez-le quelque
part gardez-le de côté le jour où vous
en aurez besoin B vous verrez que ça
aura son utilité à ce moment-là et pas
avant voilà voilà je vous dis à très
bientôt pour la prochaine vidéo donc on
se retrouvra pour la séance 13 et nous
parlerons cette fois des propriétés donc
c'est une autre notion de tout ce qui
est programmation objet en attendant
révisez bien entraînez-vous n'hésitez
pas à faire plein de programmes à
commenter poser des questions likeer
enin tout partager la vidéo surtout
parce que c'est vraiment très important
et à très bientôt je vous dis pour la
séance numéro 13
[Musique]
5.0 / 5 (0 votes)