Python #11 - classes et attributs

FormationVidéo
28 Apr 201725:28

Summary

TLDRLa vidéo numéro 11 d'une série sur Python se concentre sur la programmation orientée objet. L'animateur introduit les classes, objets et attributs, utilisant l'exemple de la classe 'humain' pour illustrer la création d'objets avec des attributs personnalisables. Il explique le concept de constructeur (__init__) et la différence entre les attributs d'objet et les attributs de classe, en montrant comment instancier des objets avec des valeurs par défaut et怎么样 modifiables. La session se termine avec une promesse d'explorer les méthodes et les propriétés dans les prochaines vidéos.

Takeaways

  • 😀 Le script est une session d'apprentissage sur Python, en particulier sur la programmation orientée objet.
  • 📝 L'enseignant a présenté les notions de base telles que les classes, les objets et les attributs.
  • 👨‍🏫 Il a expliqué que les classes sont comme un plan de conception, tandis que les objets sont des instances créées à partir de ces classes.
  • 🔑 Les attributs sont des variables qui définissent les caractéristiques d'un objet, comme le prénom, l'âge ou la taille d'un humain.
  • 👶 L'enseignant a utilisé l'exemple de la classe 'Humain' pour montrer comment créer des objets avec des attributs spécifiques.
  • 🛠️ Le mot-clé 'class' est utilisé pour définir une classe en Python, et le nom de la classe commence généralement par une majuscule.
  • 📚 Il a mentionné l'utilisation de '__init__' comme constructeur pour initialiser les objets lors de leur création.
  • 🔄 L'enseignant a expliqué comment utiliser des paramètres dans le constructeur pour personnaliser les objets lors de leur instanciation.
  • 🎛️ Il a abordé la notion d'attributs de classe, qui sont partagés par tous les objets d'une même classe, contrairement aux attributs d'instance.
  • 🛑 L'enseignant a insisté sur la différence entre les attributs de classe et les attributs d'instance, soulignant leur utilisation appropriée.
  • 🔍 Il a montré comment accéder aux attributs d'un objet en utilisant la syntaxe 'objet.Attribut' et comment modifier ces attributs directement.

Q & A

  • Quel est le sujet principal de cette séance de formation Python numéro 11 ?

    -Le sujet principal de cette séance est l'introduction aux classes et objets en Python, en commençant par la création de classes, l'instanciation d'objets et la définition d'attributs.

  • Pourquoi la formation inclut-elle une vidéo théorique sur la programmation orientée objet ?

    -La vidéo théorique permet de présenter les notions de base de la programmation orientée objet, permettant aux étudiants de mieux comprendre les concepts avant de les mettre en pratique.

  • Quel est le rôle d'un constructeur dans une classe Python ?

    -Le constructeur, méthode __init__, permet d'instancier des objets à partir de la classe. Il s'exécute lors de la création d'un nouvel objet et permet d'initialiser les attributs de l'objet.

  • Comment le script aborde-t-il la notion d'attributs dans les classes ?

    -Le script explique que les attributs sont des variables qui définissent les caractéristiques d'un objet, comme un prénom ou un âge pour une classe 'Humain', et peuvent être définis dans le constructeur de la classe.

  • Quelle est la différence entre un attribut et un attribut de classe en Python ?

    -Un attribut est spécifique à chaque instance (objet) de la classe, tandis qu'un attribut de classe est partagé par toutes les instances de la classe et n'appartient pas à un objet en particulier.

  • Pourquoi la convention est-elle de mettre une majuscule au début du nom des classes en Python ?

    -La majuscule au début du nom de la classe est une convention pour faciliter la reconnaissance des classes et la différenciation des variables normales.

  • Comment le script illustre la création d'une instance d'une classe ?

    -Le script montre la création d'une instance en appelant la classe avec des parenthèses et en assignant le résultat à une variable, comme `H1 = Humain()`.

  • Quels sont les éléments clés abordés dans le script pour la définition d'une classe en Python ?

    -Les éléments clés abordés sont le mot-clé 'class', le nom de la classe avec une majuscule, la définition du constructeur avec `__init__`, et l'utilisation de 'self' pour référencer l'objet courant.

  • Comment le script explique-t-il la modification d'un attribut d'un objet en dehors de la classe ?

    -Le script montre que les attributs d'un objet peuvent être modifiés directement en utilisant la syntaxe `objet.attribut = nouvelle_valeur`.

  • Quelle sera la suite du cours après cette séance sur les classes et les objets ?

    -Après cette séance, le cours continuera avec la présentation des méthodes et des propriétés, qui permettent de donner des fonctionnalités aux objets créés.

Outlines

00:00

📘 Introduction à la programmation orientée objet en Python

La vidéo numéro 11 se concentre sur l'introduction à la programmation orientée objet (POO) en Python. Le présentateur revoit rapidement les notions précédemment introduites et explique l'importance de l'approche étape par étape. Il mentionne l'introduction des classes, des objets et des attributs, en utilisant l'exemple d'une classe 'humain' pour illustrer la création d'objets et l'ajout d'attributs tels que le prénom, l'âge et le genre. Il insiste sur la notion de classe comme un plan de conception et l'instanciation de classes pour créer des objets spécifiques.

05:00

🔍 Explication de la création de classes et de constructeurs en Python

Le paragraphe 2 décrit le processus de création de classes et de constructeurs en Python. Le présentateur utilise le mot-clé 'class' pour définir une classe 'Humain' et explique la convention de nommage en majuscules. Il détaille la création d'un constructeur avec le mot-clé 'def' et l'utilisation de 'self' pour faire référence à l'objet en cours de création. Il illustre la création d'objets en appelant la classe avec des paramètres initiaux et montre comment les objets sont instanciés avec des adresses de mémoire différentes, prouvant ainsi qu'ils sont distincts.

10:01

📝 Ajout d'attributs et de valeurs par défaut dans les classes

Dans le paragraphe 3, le présentateur explore l'ajout d'attributs à une classe et la définition de valeurs par défaut pour ces attributs. Il montre comment définir un prénom et un âge dans le constructeur et comment accéder à ces attributs en utilisant 'self'. Il explique également comment afficher les valeurs des attributs et comment modifier ces valeurs ultérieurement dans le code. Le paragraphe met en évidence la flexibilité de Python pour modifier directement les attributs des objets, contrairement à d'autres langages qui nécessitent l'utilisation d'accesseurs et de mutateurs.

15:02

👥 Personnalisation des objets avec des paramètres personnalisés

Le paragraphe 4 se concentre sur la personnalisation des objets en utilisant des paramètres personnalisés lors de l'instanciation. Le présentateur montre comment créer des objets 'Humain' avec des prénoms et des âges différents, en passant ces valeurs en paramètres au constructeur. Il souligne l'importance de comprendre les paramètres requis et les valeurs par défaut, et il illustre comment les objets peuvent être modifiés après leur création en attribuant de nouvelles valeurs aux attributs.

20:03

🏢 Comprendre les attributs de classe et leur utilisation

Dans le paragraphe 5, le présentateur introduit les attributs de classe, qui sont partagés par tous les objets d'une classe. Il différencie les attributs d'instance, qui sont spécifiques à chaque objet, des attributs de classe, qui sont accessibles par tous les objets de la classe. Il utilise l'exemple d'un compteur pour le nombre d'objets créés, en montrant comment déclarer et incrémenter un attribut de classe. Il explique comment cet attribut est partagé entre tous les objets et comment il est différent d'un attribut d'instance.

25:03

🚀 Conclusion et préparation pour la suite des leçons

Le paragraphe 6 conclut la vidéo en résumant les points abordés et en prévoyant les sujets futurs. Le présentateur récapitule l'introduction aux classes, aux objets, aux attributs et aux constructeurs, et annonce que les prochaines leçons couvriront les méthodes et les propriétés. Il exprime son désir de maintenir les leçons simples et accessibles pour les débutants, tout en préparant le terrain pour une compréhension plus approfondie des concepts de la POO en Python.

Mindmap

Keywords

💡Python

Python est un langage de programmation interprété et orienté objet, utilisé pour un large éventail de tâches telles que le développement web, l'analyse de données, l'apprentissage automatique, etc. Dans le script, il est mentionné comme le langage utilisé pour la session de formation, indiquant que le thème de la vidéo est centré sur la programmation avec Python.

💡Classes

Les classes en Python sont un moyen de structurer du code en définissant un template pour les objets. Elles sont au cœur de la programmation orientée objet et permettent de créer des instances (objets) avec des attributs et des méthodes. Le script parle de 'classes' comme étant un plan de conception pour 'fabriquer un humain', par exemple, pour instancier plusieurs objets avec des caractéristiques définies.

💡Objets

Objet en programmation orientée objet est une instance d'une classe, ayant ses propres attributs et méthodes. Dans le script, l'instructeur parle de créer des objets comme 'Julien' ou 'H1' qui sont des instances de la classe 'Humain', montrant comment les objets sont créés et utilisés dans Python.

💡Attributs

Les attributs sont des variables qui sont associées à une classe et définissent les caractéristiques des objets. Dans le script, l'instructeur mentionne des attributs comme le prénom, l'âge et la taille d'un humain, qui sont utilisés pour personnaliser les instances de la classe 'Humain'.

💡Méthodes

Les méthodes sont des fonctions qui sont associées à une classe et définissent les actions que les objets peuvent effectuer. Le script indique que les méthodes seront abordées dans des vidéos futures, suggérant qu'elles sont cruciales pour la logique et le comportement des objets.

💡Constructeur

Le constructeur, souvent nommé `__init__` en Python, est une méthode spéciale utilisée pour initialiser les objets d'une classe. Dans le script, il est mentionné comme étant la 'méthode très spéciale' qui permet de construire des objets en définissant les paramètres lors de leur création.

💡Instantiation

L'instantiation est le processus de création d'une instance d'une classe. Le script utilise le terme pour décrire l'étape où une classe est utilisée pour créer un nouvel objet, comme lorsqu'on crée 'H1' à partir de la classe 'Humain'.

💡Docstrings

Les docstrings sont des chaînes de caractères utilisées pour documenter le code, en fournissant une description de ce que fait une classe, une méthode ou une fonction. Dans le script, l'instructeur mentionne les docstrings comme un moyen de documenter la classe, bien que ce ne soit pas un sujet principal de la vidéo.

💡Attributs de classe

Contrairement aux attributs d'instance, les attributs de classe sont partagés par tous les objets d'une même classe. Dans le script, l'instructeur explique qu'un attribut de classe, comme un compteur d'objets, est accessible à tous les objets de la classe sans être spécifique à un seul objet.

💡Mots-clés

Les mots-clés en Python sont des identifiants réservés par le langage et qui ont un rôle spécial dans la syntaxe, comme `class` et `def`. Le script mentionne les mots-clés comme éléments importants pour définir des structures de données et des fonctions dans Python.

Highlights

Introduction à la programmation orientée objet en Python avec une approche étapée pour faciliter la compréhension.

Explication des classes comme plans de conception pour créer des objets.

La différence entre une classe et un objet, avec l'instanciation d'un objet à partir d'une classe.

Les attributs sont des variables de classe qui définissent les caractéristiques d'un objet.

Utilisation du mot-clé 'class' pour définir une nouvelle classe en Python.

Convention de nommage pour les classes avec une majuscule au début du nom.

La méthode spéciale '__init__' qui sert de constructeur pour initialiser les objets.

L'importance de la documentation avec des docstrings pour les classes et les méthodes.

Création d'objets avec des attributs personnalisés lors de l'instanciation.

Explication de l'identifiant 'self' utilisé pour faire référence à l'objet courant.

Modification dynamique des attributs d'un objet à l'exécution du programme.

La différence entre les attributs d'objet et les attributs de classe.

Utilisation d'attributs de classe pour stocker des informations partagées entre tous les objets d'une classe.

Démonstration de la création multiple d'objets et de la gestion de leurs attributs respectifs.

Discernement entre les méthodes et les fonctions, et comment les méthodes sont liées aux objets.

Préparation pour la prochaine vidéo qui couvrira les méthodes et les propriétés en plus des objets.

Transcripts

play00:00

[Musique]

play00:09

bonjour à tous bienvenue pour la séance

play00:11

numéro 11 sur python la dernière fois

play00:14

vous vous rappelez je vous avais fait

play00:16

une petite pause en fait sur le la

play00:18

formation avec une vidéo un peu

play00:20

théorique pour vous présenter toutes les

play00:21

notions qu'on aurait l'occasion de voir

play00:23

avec le programmation orientée objet et

play00:25

je vous avais dit qu'on allait comme ça

play00:26

pouvoir voir les choses au fur et à

play00:28

mesure que ce soit mieux abord que soit

play00:30

beaucoup plus simple pour vous puisqu'on

play00:32

attaque une partie déjà un petit peu

play00:33

plus avancée que tout ce que vous avez

play00:35

vu jusqu'à présent et que c'est mieux de

play00:37

voilà de procéder par par étap plutôt

play00:38

que d'aller trop vite donc on va

play00:40

commencer par quelques petites choses je

play00:41

vais reprendre un petit peu le le

play00:42

document que en tout cas les notes que

play00:44

j'avais que j'avais fait la dernière

play00:46

fois sur la la précédente vidéo pour

play00:48

vous puissiez un petit peu voir certains

play00:50

termes que l'on va pouvoir bah tout

play00:52

simplement présenter dans cette vidéo là

play00:53

dans cette séance donc on va parler

play00:55

évidemment des classes he puisquon va

play00:56

commencer notre première vidéo sur

play00:58

l'objet on va parler d'objet bien sûr ça

play01:00

ça va de soi et on va parler d'attribut

play01:03

également par la suite donc vous

play01:04

rappelez hein je fais un petit rappel

play01:05

très rapidement je vous avez dit queune

play01:07

classe en fait c'était un plan de

play01:08

conception un petit peu pour dire par

play01:09

exemple bah tiens comment on pourrait

play01:11

fabriquer un humain voilà un humain

play01:12

peut-être une classe et qu'à partir de

play01:14

là on peut créer des objets donc on peut

play01:16

instancier une classe par exemple créer

play01:18

un personnage qui s'appellerait Julien

play01:19

par exemple un Julien en fait qui serait

play01:21

donc notre objet de classe humain ou un

play01:23

autre et cetera voilà on pourrait créer

play01:25

instancier comme ça plusieurs objets et

play01:26

là ces objets nous pourrions les

play01:28

compléter en le rajoutant des attributs

play01:29

je avez dit dit qu'un attribut c'était

play01:30

une variable de classe en fait c'est

play01:31

quelque chose qui permet bah tout

play01:33

simplement de de le définir en fait

play01:35

voilà donc qu'est-ce qu'on pourrait

play01:36

donner à un humain qu'est-ce qu'un

play01:37

humain peut avoir mais il peut avoir un

play01:39

prénom il peut avoir un âge une taille

play01:41

un genre et cetera donc on peut rajouter

play01:43

plusieurs plusieurs choses comme ça et

play01:44

ça permet de définir des attribut donc

play01:46

on va se contenter de voir un petit peu

play01:48

tout ça dans cette vidéo là il y aura

play01:49

d'autres choses par la suite qu'on verra

play01:51

pour la prochaine vidéo et ainsi de

play01:52

suite pour pas que ça fasse trop trop

play01:54

lourd en fait d'un coup mais qu'on

play01:55

puisse voir au fur et à mesure comme je

play01:57

disais au début on va directement

play01:59

commencer ici et on va créer notre

play02:02

classe donc on va reprendre l'exemple de

play02:03

la classe humain alors pourquoi parce

play02:05

que bah c'est quelque chose qui

play02:06

est utile partout un petit peu partout

play02:09

qui est suffisamment complet comme

play02:10

exemple je pense et qui sera assez clair

play02:12

pour tout le monde on saura de quoi on

play02:14

parle ce sera je pense suffisamment

play02:15

clair pour vous la meilleure méthode en

play02:18

tout cas le moyen pour créer une classe

play02:19

on va tout simplement utiliser un mot

play02:21

clé du langage qui est le mot classe en

play02:23

anglais bien sûr toujours pareil pour

play02:25

pouvoir montrer que nous allons définir

play02:27

je vous rappelis que quand on faisait

play02:28

une fonction on utilisait le mot clé def

play02:30

d'accord pour define qui permettit de

play02:31

dire je vais définir une fonction que je

play02:33

pourrais utiliser par la suite là on va

play02:34

utiliser le motclé classe pour dire

play02:36

voilà qu'on va créer une classe on va lu

play02:38

donner un nom et par convention on lui

play02:39

met une majuscule d'accord simplement

play02:41

pour pouvoir les repérer facilement on

play02:42

met une majuscule au début du nom de la

play02:44

classe et si jamais vous avez plusieurs

play02:46

mots pour définir sa classe par exemple

play02:48

si votre classe elle s'appelle elle

play02:49

s'appelait un humain et ben on aurait

play02:51

plus tend tendance pardon à marquer

play02:54

comme ceci c'està-dire qu'on met une

play02:55

majuscule en fait à chaque début voyez

play02:57

de nouveau mot tout attaché bien sûr un

play02:58

pas d'espace on évite des underscore

play03:00

parce que c'est pas forcément joli joli

play03:01

ou pratique pour les classes on peut en

play03:03

avoir he ça empêche pas il y en a qui le

play03:05

font vous vous faites absolument comme

play03:07

vous voulez mais je vous dit dans les

play03:08

dans l'idéal comme ça c'est suffisamment

play03:09

lisible on peut se contenter de ça c'est

play03:10

très bien comme ça donc nous on va faire

play03:12

au plus simple on va faire une classe

play03:13

humain voilà tout simplement et comme le

play03:16

langage Python bah n'utilise pas de on

play03:18

va dire d'acol à d'ut comme d'autres

play03:19

langages on n'oublie pas les deux points

play03:20

comme pour le la définition d'une

play03:22

fonction et là la ligne avec la petite

play03:24

tabulation on va pouvoir définir notre

play03:25

classe voilà tout simplement c'est juste

play03:27

ça d'accord absolument juste ça ça là on

play03:30

va définir alors on viendra plus tard on

play03:32

va définir une méthode un peu

play03:33

particulière on parlera des méthodes

play03:34

dans la vidéo suivante ou peut-être une

play03:36

prochaine d'après pas pour tout de suite

play03:38

on va éviter trop comme j'ai d de trop

play03:39

avancer sur cette vidéo là mais il y a

play03:41

une méthode très spéciale que nous

play03:42

allons voir qui s'appelle le

play03:43

constructeur je vous avais dit qu' une

play03:45

classe CIT tout simplement une un schéma

play03:47

un peu de conception comment tu

play03:49

fabriqueris un humain et ben voilà la

play03:50

classe te permet de d'en créer ou un

play03:52

animal ou ça peut être un comment

play03:54

s'appelle un gestionnaire pour un jeu

play03:56

vidéo ça peut-être la fenêtre par

play03:57

exemple de votre interface graphique

play03:59

tout ce genre de chose ce sont des

play04:00

classes qu'on pourrait retrouver dans un

play04:01

logiciel un programme un jeu vidéo ou je

play04:03

ne sais quoi encore donc on a une petite

play04:05

méthode particulière qui va s'appeler

play04:07

init donc c'est une vous verrez on aura

play04:10

l'occasion d'aborderer ces méthodes un

play04:11

peu particulière parce qu'il y en a

play04:12

plein d'autres mais on va se contendre

play04:13

de celle-là qui va faire office de

play04:14

constructeur elle va permettre bah de

play04:16

construire des objets donc des

play04:17

d'instancier des classes en créant des

play04:18

objets on va faire comme pour si vous

play04:21

voulez comme pour la création d'une

play04:23

fonction les méthodes vont se définir de

play04:24

pareil on va utiliser le mot clé def

play04:26

alors avant ça par contre mettre une

play04:28

petite une petite indication en fait

play04:31

vous allez mettre comme ça trois petits

play04:33

donc double guillemets vous pouvez en

play04:34

mettre d'autres et vous pouvez comme ça

play04:36

mettre une petite définition en fait

play04:37

pour votre votre classe on aura

play04:39

l'occasion ça aussi d'en parler dans une

play04:40

vidéo annexe mais vous pouvez comme ça

play04:42

faire une petite description de votre

play04:43

classe d'accord classe des êtres humains

play04:46

alors c'est un peu on va dire pas

play04:48

forcément utile comme comme doc string

play04:51

mais peu importe donc pourquoi une do

play04:52

string en fait bah c'est une chaîne de

play04:54

documentation qui va permettre de

play04:55

documenter votre code mais je ferai une

play04:57

vidéo annexe je pense un tutoriel en

play04:58

tout cas qui sera disponible pour pour

play05:00

voir les docen pour comprendre un petit

play05:01

peu comment ça fonctionne c'est

play05:02

peut-être même déjà en ligne à l'heure

play05:03

où je fais cette vidéo parce que

play05:04

rappelez-vous que je fais les vidéos

play05:06

pour que ce soit à jour en tout cas dans

play05:09

plusieurs mois plusieurs années donc

play05:10

peut-être que d'ici là la vidéo est déjà

play05:12

en ligne sur la sur la chaîne et vous

play05:14

pourrez retrouver comme ça les docreen à

play05:15

quoi ça sert voilà comment documenter

play05:16

son code donc on va juste contenter de

play05:18

ça n on va faire quelque chose de très

play05:19

simple et on va créer le constructeur on

play05:21

utilise le mot clé def comment on le

play05:22

ferait pour une fonction comme vous

play05:23

l'avez vu donc je recommande bien

play05:25

évidemment de bien être à l'aise avec

play05:27

toutes les anciennes les anciennes

play05:28

vidéos hein ça va de soit sinon vous

play05:30

allez galérer un petit peu pour les pour

play05:32

tout ce qui est objet et on va lui

play05:33

mettre un double rappelez-vous c'est le

play05:36

souligner donc le le tirer en fait du 8

play05:38

il je j'insiste bien il y en a bien deux

play05:39

d'accord c'est pas c'est pour ça qu'il

play05:41

est long c'est pas euh un seul symbole

play05:42

en fait c'est vraiment deux d'accord il

play05:44

y a deux caractères parce que on mavais

play05:45

déjà demandé ça une fois dans une dans

play05:47

un commentaire et on met le mot-clé init

play05:49

et je remets un double

play05:52

voilà j'ouvre des parenthèses comme pour

play05:55

une fonction et je vais mettre un petit

play05:56

mot un petit un petit paramètre je vais

play05:58

en parler un petit peu après on met les

play05:59

deux points voilà comme pour la création

play06:01

d'une fonction et là je vais mettre le

play06:03

mot passe pour dire voilà bah en fait tu

play06:05

ne fait rien tout simplement on va

play06:06

rester là et on va quitter la classe

play06:08

d'accord rappelez-vous ici on est plus

play06:09

dans la classe he pu qu'on est plus sur

play06:10

la tout ce qui est en tabulation fait

play06:13

partie de la classe dès qu'on revient en

play06:14

retrait on y est plus dedans donc là ici

play06:16

je peux je peux mettre par

play06:20

exemple lancement du

play06:22

programme par exemple voilà et on pourra

play06:26

cré une classe alors si je teste bien

play06:29

sûr comme ça parce qu'on va commencer

play06:30

par tester

play06:32

directement voilà donc là on voit bien

play06:34

que le programme s'est lancé il ne s'est

play06:35

rien passé bien évidemment je n'ai fait

play06:37

que définir c'est comme pour une

play06:38

fonction j'ai défini une classe comme

play06:39

j'aurais défini une fonction mais je

play06:41

n'ai jamais appelé cette classe ou je

play06:42

n'ai jamais créé d'instant donc voilà

play06:44

c'est bien on a défini la chose mais

play06:45

c'est tout maintenant qu'on a un petit

play06:47

peu notre petite boîte d'accord on a

play06:48

notre petite boîte avec notre

play06:49

constructeur de cette boîte donc d'umain

play06:51

en l'occurrence on aimerait pouvoir

play06:53

instancier on va donc créer un objet qui

play06:56

sera de classe humain et cet objet on va

play06:59

le stocker dans une variable que c'est

play07:01

dire que en créant l'objet je vais vous

play07:02

expliquer un petit peu après on va en

play07:04

fait créer une instance cette instance

play07:05

va être stockée pardon dans une variable

play07:08

et cette variable pourra être utilisée

play07:09

pour faire pas mal de choses après avec

play07:10

donc nous on va l'appeler justement

play07:12

Julien alors faut pas forcément bon

play07:14

utiliser ça parce que si en plus plus

play07:15

tard ça un attribut le prénom et puis

play07:17

qu'on veut changer de prénom appeler une

play07:18

variable Julien c'est un petit peu c'est

play07:20

un peu bizarre en fait donc je vais même

play07:22

pas l'appeler comme ça je vais l'appeler

play07:23

par exemple H1 pour humain numéro 1 par

play07:25

exempleà parce que j'ai pas j'ai pas

play07:26

beaucoup d'idées on va dire pour le pour

play07:28

le nom et on va tout simplement mettre

play07:30

le nom de la classe et des parenthèses

play07:33

d'accord tout simplement là je lui dis

play07:34

dans H1 tu fais appel en fait à humain

play07:36

d'accord c'est une classe il va la

play07:38

reconnaître puisquelle est définie avant

play07:39

et là je vais appeler vous ne voyez rien

play07:42

puisque je ne fais que pass au niveau du

play07:44

constructeur donc si on veut être plus

play07:46

clair nous on va enlever le Pass du coup

play07:48

qu'on va faire quelque chose on va lui

play07:50

dire tout

play07:51

simplement création d'un

play07:55

humain voilà l'ession de serouve dans un

play07:58

un système de produit de création de

play08:00

robot sauf que là ce sont des êtres

play08:01

humains c'est un peu étrange voilà je

play08:03

réexécute le code et vous voyez qu'il

play08:05

passe bien effectivement dans le

play08:06

constructeur il crée un humain donc pour

play08:08

résumer qu'est-ce qui se passe quand

play08:10

vous faites ceci on fait appel à la

play08:11

classe d'accord il va chercher une la

play08:14

fameuse méthode init donc qui est

play08:15

constructeur il va le chercher il va

play08:16

voir comment il est défini donc là on a

play08:18

mis que self mais je vous expliquer ce

play08:19

que c'est self en fait c'est tout

play08:21

simplement ce qui cible l'objet lui-même

play08:23

qu'on est en train de créer là bah on

play08:25

fait certaines choses donc là on fait

play08:27

qu' afficher un petit texte et ensuite

play08:29

ça va rendre donc c'est comme ça même si

play08:30

vous voyez que là il y a pas de Return

play08:32

le constructeur va rendre self donc

play08:34

c'estàdire il va rendre l'objet que l'on

play08:35

vient de créer et tout ça donc tout ce

play08:38

qui est retourné l'objet on va le

play08:39

stocker grâce à l'affectation ici dans

play08:40

H1 qui est notre variable avec laquelle

play08:42

on va pouvoir faire plein de choses par

play08:43

la suite pour le moment on va pas faire

play08:44

grand chose mais par la suite ce sera

play08:46

très utile voilà vous avez ben vous

play08:48

savez en tout cas comment créer une

play08:50

variable donc la définir et comment

play08:52

instancier créer une variable créer une

play08:54

classe par contre je je suis un petit

play08:55

peu fatigué je me mélange les pinceaux

play08:57

et instancier une classe en créant un un

play08:59

objet voilà ici l'objet H1 c'est aussi

play09:02

simple il y a pas de pas plus compliqué

play09:04

enfin il y a pas plus simple en tout cas

play09:06

on peut pas faire plus Simp et c'est pas

play09:07

plus compliqué que ça c'est vraiment

play09:08

vraiment très très simple à mettre en

play09:09

œuvre et là on va pouvoir travailler

play09:12

avec ça je peux en créer un deuxième

play09:13

d'accord je peux très bien créer h de

play09:15

qui sera un autre humain et vous allez

play09:17

voir que je vais avoir deux fois la

play09:18

ligne création d'un humain puisque j'en

play09:20

crée absolument deux d'accord lancement

play09:22

du programme il en crée un il en cré un

play09:23

deuxème alors on sait pas qui est qui

play09:25

puisquon l'a pas détaillé mais il est là

play09:27

voilà on sait qu'en tout cas il est là

play09:29

il y a pas de souci d'ailleurs on peut

play09:32

s'amuser à faire ceci vous voyez je mets

play09:34

un virgule avec un self et là vous voyez

play09:36

il vous met des adresses bizarres alors

play09:39

on voit que ce sont pas à fait les mêmes

play09:40

adresses 001 AB 7 7 B8 et là c'est 7 F0

play09:45

donc c'est une adresse en fait qui

play09:46

permet de vérifier en fait où se trouve

play09:48

bah l'adresse en fait de l'objet qu'on a

play09:50

créé donc il vous met main bon ça c'est

play09:52

parce que c'est le programme principal

play09:53

on l'avait vu la dernière fois ça que

play09:55

main en fait c'était bah le code

play09:56

principal voyez que ça parai un savec de

play09:58

double ord il vous met point humain qui

play10:01

est un objet d'accord a donc stocké en

play10:03

fait à l'adresse Intel voilà en mémoire

play10:05

et cetera donc on arrive bien comme ça

play10:07

distinguer les deux on voit que ce sont

play10:08

pas les mêmes donc il y a bien deux

play10:09

objets qui ont été créés c'est pas juste

play10:10

c'est pas juste caché ou de la triche il

play10:12

y a vraiment deux objets que nous avons

play10:13

créés voilà pour ça alors je vais

play10:15

enlever le C que pas utile ça sert à

play10:17

rien de l'afficher puisqu'il est

play10:19

retourné voilà ça c'est la partie

play10:21

création définition de classe création

play10:23

de classe donc et instantiation pour

play10:25

créer des objets donc vous savez faire

play10:26

ça nous on va compléter maintenant avec

play10:28

des attribut les attributs euh alors de

play10:32

base un attribut il va appartenir à une

play10:34

classe seulement à elle donc nous

play10:35

l'humain on va lui définir des attributs

play10:38

comment on va les définir on peut les

play10:39

définir dans le constructeur tout

play10:40

simplement donc on peut dire par exemple

play10:42

que on va avoir un prénom donc moi je

play10:44

vais dire par défaut je vais utiliser

play10:46

self parce que rappelez-vous que self

play10:47

c'est un peu l'identifiant qui vise en

play10:49

fait l'objet que vous êtes en train de

play10:50

créer donc c'est lui-même c'est moi-même

play10:52

alors sur moi sur cet objet qu'est-ce

play10:54

que je fais et ben je mets un point je

play10:56

vais définir un attribut donc un

play10:57

attribut c'est tout simplement une vari

play10:59

qui appartient à une classe c'est pas

play11:01

voilà il y a pas à chercher plus loin

play11:03

c'est juste une variable mais sauf

play11:04

qu'elle appartient à une classe elle est

play11:05

pas comme ça se balader n'importe où

play11:07

voilà on va mettre prénom on va rester

play11:09

avec des noms français

play11:10

exceptionnellement d'habitude je fais du

play11:11

code en anglais mais là on va rester sur

play11:12

quelque chose en français pour changer

play11:13

un petit peu égal puisquon fait une

play11:15

affectation on va lui donner un nom

play11:16

d'accord on mettre par exemple Jojo

play11:19

voilà d'accord self prénom Jojo c'est

play11:21

son prénom et on peut lui définir un âge

play11:24

pourquoi pas on peut dire par exemple

play11:25

que tous nos humains par défaut ont un

play11:28

an d'accord on crée des PE um tout

play11:30

simplement et là alors vous allez rien

play11:32

voir bien évidemment puis qu'on aura on

play11:34

verra rien par rapport à ça mais on aura

play11:35

cré C attribut on peut s'amuser à

play11:37

l'afficher pourquoi

play11:39

pas non onffichera plus tard on va déjà

play11:41

voir ça donc évidemment à l'exécution

play11:43

vous ne voyez rien de différent par

play11:45

contre je peux sans problème les

play11:48

afficher Je vais mettre un

play11:51

print print pardon et je vais mettre par

play11:55

exemple prénom de

play11:58

h1 d'accord on va utiliser une méthode

play12:01

comme on avait déjà utilisé avant

play12:03

rappelez-vous format hein parce qu'elle

play12:04

permet comme ça de bien formater le

play12:05

texte correctement et comment on va

play12:07

comment on va récupérer en fait cette

play12:09

variable ici comment je peux accéder à

play12:10

au prénom en fait de l'objet et bien

play12:12

l'objet il faut son identifiant en le

play12:14

code principal quand vous êtes dans la

play12:15

classe en elle-même son identifiant

play12:17

c'est self que c'est lui-même donc c'est

play12:18

facile self voilà my c'est moi-même

play12:21

himself c'est lui-même et cetera en

play12:22

anglais donc là ici on a pas de self

play12:25

dans le code principal je vous rappelle

play12:26

que le code principal c'est à partir du

play12:27

print que j'ai mis là par contre son

play12:29

identifiant on le voit c'est les

play12:30

variables qu'on a utilisé c'est H1 donc

play12:32

on va dire que c'est H1 et sur H1 on va

play12:35

accéder à quoi son prénom donc on met un

play12:36

point et on met prénom voilà h1. prénom

play12:40

c'est pour accéder à l'attribut prénom

play12:42

de l'objet H1 qui est de classe humain

play12:45

tout simplement et du coup là vous voyez

play12:48

que le prénom de h1 c'est bien Jojo il

play12:49

arrive à l'afficher il y a pas de souci

play12:51

à ce niveaulà je pourrais faire pareil

play12:52

avec là je pourrais faire a n'importe ça

play12:53

avec n'importe quoi le souci c'est que

play12:56

bah là voyz j'ai j'ai défini en fait

play12:58

comme pour une fonction j'ai défini des

play13:00

choses en fait par défaut c'est le

play13:02

prénom je peux pas choisir ce que je

play13:03

veux ça je pourrais demander

play13:04

éventuellement à l'utilisateur de

play13:05

choisir un prénom mais nous on parle de

play13:08

développement développement moi

play13:09

j'aimerais pouvoir choisir par exemple

play13:10

lorsque je développe créer un humain

play13:12

directement avec le nom que je veux avec

play13:13

un âge différent pas forcément tous les

play13:14

mêmes je pas créer des clones à moi de

play13:16

vouloir refaire un un Star Wars

play13:17

éventuellement mais je vux pouvoir créer

play13:19

des humains différents du coup je vais

play13:22

éviter de faire juste un accès comme ça

play13:24

ici je vais placer ces attributs donc

play13:27

dans des paramètres alors vous allez

play13:29

rien apprendre de nouveau là puisque ça

play13:30

fonctionne comme les fonctions n'oubliez

play13:32

pas que le constructeur c'est c'est une

play13:33

méthode et c'est ça fonctionne comme une

play13:35

fonction donc tout ce que vous avez vu

play13:36

dans la vidéo des fonctions est tout à

play13:38

fait applicable ici vous vous rappelez

play13:40

les paramètres on peut en mettre un on

play13:41

pe donc on peut en mettre deux plusieurs

play13:43

des obligatoires on peut en mettre des

play13:44

facultatifs en mettant des valeurs par

play13:46

défaut et on pouvait également avoir une

play13:47

infinité de paramètres pour l'objet

play13:50

c'est la même chose rappelez-vous que

play13:51

Python est tout objet donc il y a aucune

play13:53

différent alors je va pas tout hein je

play13:54

vais pas vous montrer les exemples sur

play13:55

tout ce qu'on a vu avec les fonctions

play13:56

puisque vous l'avez déjà vu il suffit de

play13:58

revoir la vidéo sur les fonctions s'il y

play13:59

a besoin de vous de faire quelques

play14:01

rappels mais on va voir tout simplement

play14:02

comment définir des attributs alors self

play14:05

il doit toujours rester en premier voilà

play14:06

on on décrit toujours en premier enfin

play14:08

l'objet lui-même on le met on l'indique

play14:10

toujours en paramètre c'est mieux de le

play14:11

faire et après avec une virgule on peut

play14:13

définir les attributs qu'on veut prénom

play14:15

et âge tout simplement ce qu'on avait

play14:17

pris tout à l'heure et là comment on va

play14:19

pouvoir les en fait tout simplement les

play14:21

associer à notre objet bah vous le savez

play14:23

je pense que vous l'avez compris

play14:24

rappelez-vous dans la classe l'objet

play14:25

c'est quoi son identifiant c'est le

play14:27

fameux self point et on va dire prénom

play14:30

et on va le faire stocker par exemple

play14:32

prénom alors je vais changer les noms

play14:34

oui parce que ça va être un peu bizarre

play14:35

euh qu'est-ce que je peux dire allez on

play14:38

va mettre comme ça je vais mettre un C

play14:39

pour classe

play14:42

d'accord c'est un peu bizarre comme

play14:44

terme mais c'est histoire qu'en fait

play14:45

vous compreniez que ce sont vraiment des

play14:46

variables différentes pas les mêmes

play14:47

sinon vous allez penser que ce sont les

play14:48

mêmes voilà d'accord vous voyez c'est

play14:51

ces prénoms que je stock du coup dans

play14:53

une variable d'attribut enfin un

play14:54

attribut en fait voilà sur lequel je

play14:57

crée des choses donc ça prénom h ça

play14:59

appartient à la classe ces prénoms C ce

play15:02

ne sont maintenant que des paramètres en

play15:03

fait d'une fonction le constructeur est

play15:05

une sorte de fonction tout simplement

play15:06

une méthode d'accord et là je vais

play15:08

pouvoir créer des humains différem alors

play15:10

là si je reteste mon programme il va pas

play15:12

être content parce qu'il lui manque deux

play15:13

rappelez-vous paramètrre requis comme là

play15:15

j'ai pas mis de valeur par défaut vous

play15:17

vous souvenez par rapport à la vidéo sur

play15:18

les fonctions je suis obligé de

play15:20

renseigner les deux paramètres donc je

play15:22

vais le faire ici ben je vais garder

play15:24

Jojo voilà et puis ici je vais dire par

play15:26

exemple que Jojo il a allez 34 ans

play15:29

d'accord je va mettre on va mettre un

play15:30

entier voilà 34 et puis là on va avoir

play15:34

je sais pas moi Albert al je suis très

play15:36

très très imaginatif sur les prénoms on

play15:39

va mettre 17 voilà hop python il crée

play15:44

bien les humains alors oui je l'ai

play15:45

évidemment pas affiché ça c'est embêtant

play15:47

euh et bien on va afficher ici on mettre

play15:53

print prénom de

play15:56

h1 changer tout simplement

play16:00

oups si je le colle pas ça va poser

play16:02

problème 1 point prénom et puis là on va

play16:06

reprendre la même chose mais avec l'

play16:08

cette fois-ci donc je fais un peu de

play16:10

copiercoller voilà h2h1

play16:14

OK et là on fait la même chose pour H2

play16:16

montrer qu'il y av une différence he

play16:17

sinon ça ne va évidemment avoir aucun

play16:20

intérêt voilà ok donc j'ai rien fait

play16:23

j'ai juste fa du copiercoller pour

play16:24

afficher tout simplement chaque attribut

play16:27

pour chaque objet H1 point prénom h h1.

play16:29

h h2. Préneau H2 pardon point H et là on

play16:33

a bien les informations différentes

play16:35

d'accord je jou au 34 al 17 tout

play16:37

simplement on a défini comme pour une

play16:39

fonction d'accord on a on a choisi des

play16:41

paramètres sur lesquels on peut rentrer

play16:43

si par défaut ben je veux pouvoir avoir

play16:44

un prénom bah je peux mettre he voilà

play16:46

comme ceci comme pour ce qu'on a vu sur

play16:48

les fonctions c'est exactement pareil ce

play16:50

qui fait que euh si je mets par exemple

play16:52

je sais pas moi euh

play16:55

ouais si je fais

play16:57

ça alors non C

play17:00

pardon é= 34 et puis lui par exemple on

play17:03

va laisser comme ça pourquoi pas voilà

play17:07

alors par contre là il est pas euh ah

play17:08

oui ce qu'il va me garder pour self ça

play17:10

ça va être embêtant euh c'est pas ça que

play17:12

je voulais faire attendez on va regarder

play17:16

Jojo voilà plutôt comme ceci juste on va

play17:20

garder comme là et on va mettre par

play17:21

exemple que l'â par défaut sera égal à 1

play17:23

donc ici je voyez je renseigne que le

play17:25

prénom je renseigne pas d'âge et

play17:27

normalement vous voyez il met

play17:28

automatiquement là je pars défaut comme

play17:30

pour les fonctions que là j' égal à

play17:32

alors si j'ai mis pour le prier fa faire

play17:33

gaffe parce qu'il y a le self donc sinon

play17:34

il faudra que je je renseigne le self à

play17:36

l'appel pour éviter bah faire respecter

play17:38

l'ordre puisque ici implicitement on a

play17:40

un premier le premier argument en fait

play17:41

c'est pas prénom c'est l'objet lui-même

play17:43

c'est un petit peu diff il y a une

play17:44

petite distinction en fait une petite

play17:46

différence par rapport aux fonctions

play17:47

simples mais pour le reste c'est le même

play17:50

fonctionnement tout pareil voilà donc on

play17:52

peut après voyez on peut avoir des des

play17:54

des des attributs pardon avec des

play17:56

valeurs par défaut on peut avoir des

play17:57

attributs une infinité d'attributs but

play17:59

même si je vois pas trop l'utilité mais

play18:00

pourquoi pas hein admettons et c'est des

play18:02

choses qu'on peut faire sans problème en

play18:04

objet ça fonctionnera et vous pouvez

play18:05

définir des voilà des personnage comme

play18:07

ça alors plus tard on verra que quand on

play18:08

veut par exemple afficher le prénom ou

play18:10

autre euh on peut faire comme ça il y en

play18:12

a peut-être si vous avez fait notamment

play18:14

d'autres langages de programmation objet

play18:15

comme le C++ vous allez vous dire ouais

play18:17

il affiche directement en fait les

play18:18

attributs de d'un objet comme ça dans le

play18:20

code alors que en C++ on n dit qu'il

play18:22

faut pas faire ça faut utiliser ce qu'on

play18:23

appelle des accesseurs hein les get

play18:25

quelque chose get prénom get ge ou des

play18:26

seturs quand on veut modifier faut

play18:29

savoir que Python fonctionne pas sur les

play18:30

mêmes règles d'accord python ne demande

play18:32

pas on peut en faire he il y a des

play18:33

accessoires on peut très bien faire ça

play18:34

en python si on veut si on aime bien la

play18:36

philosophie un peu du C++ là-dessus ou

play18:37

d'autres langages comme le c#arp ou

play18:39

autres on peut s'amuser à faire ça mais

play18:40

en python de base il y a pas cette il y

play18:43

a pas cette cette norme en fait de faire

play18:45

des accesseurs c'est si on veut accéder

play18:46

à un attribut et ben on met le nom de

play18:48

l'objet point le nom de l'attribut si on

play18:50

veut le modifier ben on mettra le nom de

play18:51

l'objet point l'attribut égal autre

play18:53

chose pourquoi je vous dis ça je vais

play18:55

reprendre l'exemple ici de notre fameux

play18:57

Jojo vous voyez que là j'ai affiché son

play18:58

prénom son âge d'accord alors je vais

play19:00

remettre autre chose ici c'était quoi 34

play19:02

là que j'ava mis et d'un coup je vais

play19:04

changer en fait un des attributs je vais

play19:05

dire que H1 point prénom ça change

play19:09

d'accord il va

play19:11

s'appeler Thomas OK et du coup je vais

play19:14

pouvoir afficher son nouveau prénom

play19:17

d'accord vous voyez que le changement se

play19:19

s'opère d'accord c'est que depuis le

play19:21

code principal en fait j'ai pu modifier

play19:22

un attribut d'une classe voilà en C++ ça

play19:25

c'est au niveau de la norme c'est

play19:26

interdit on estime qu'en fait la seule

play19:28

chose qui qui peut modifier la classe

play19:29

elle-même c'est enfin qui peut modifier

play19:30

un attribut c'est la classe elle-même

play19:32

c'est l'objet lui-même donc on passerait

play19:33

par une fonction qui sera en fait une

play19:35

fonction par exemple modifier le prénom

play19:37

en fait et qui vérifiera en fait voilà

play19:39

qu'on met le les des bonnes choses que

play19:41

le nom est bien est bien dans les bonnes

play19:43

conditions qu' y a pas de chiffre par

play19:44

exemple qui a pas forcément de caractère

play19:46

autorisé ce genre de chose ce qui

play19:47

permettrait de faire des vérifications

play19:49

en python on peut le faire mais ce n'est

play19:50

pas obligatoire ça ne fait pas partie

play19:51

des normes d'accord faire ça en python

play19:53

c'est tout à fait normal tout à fait on

play19:55

va dire dans les normes si vous faites

play19:56

ça en c++ par contre vous allez vous

play19:58

faire taper dessus par ceux qui

play19:59

développent plus plus c'est pas la même

play20:01

philosophie simplement voilà faut faut

play20:02

respecter accepter les philosophies de

play20:04

chacun des langages pas tout mélanger

play20:06

non plus mais voilà là on est en python

play20:07

donc vous pouvez faire ça ça pose aucun

play20:09

problème le python voilà les gens

play20:11

développent comme ça ça a toujours été

play20:12

comme ça ça changera peut-être un jour

play20:13

après il y en a qui veulent quand même

play20:15

utiliser des accesseurs chacun est libre

play20:17

chacun fait comme il veut si vous voulez

play20:18

passer plus tard par une méthode comme

play20:19

on le verra dans la vidéo suivante pour

play20:21

modifier les attribu par exemple d'un

play20:23

objet libre à vous ce sera pas moins

play20:25

bien ce sera pas mieux ce sera

play20:26

simplement différent tout simplement

play20:28

voilà pour ses attributs notamment des

play20:31

modifications donc on peut hein sans

play20:32

problème modifier ces attributs modifier

play20:34

ce genre de choses al on va pas faire

play20:35

grand chose en cette vidéo parce que je

play20:36

vous je veux pas aborder les méthodes

play20:38

tout de suite pour pouvoir faire par

play20:39

exemple va faire faire des choses à

play20:40

notre objet sinon on va on va

play20:41

directement dériver et rajouter du

play20:43

contenu et je veux qu'on reste sur des

play20:45

choses assez basiques pour commencer

play20:46

qu'on commence vraiment doucement par

play20:47

contre on va terminer pour cette vidéo

play20:49

sur à parler des attributs de classe

play20:51

c'est très simple aussi euh alors je

play20:53

vais reprendre cet exemple là donc

play20:55

j'enlève tout hein tout le texte que

play20:56

j'ai non je vais garder le texte que

play20:57

j'ai mis là

play20:59

ici et euh comment vous direà ceci et

play21:04

l'attribut de classe c'est tout

play21:05

simplement un attribut qui n'appartient

play21:07

pas à un objet en particulier mais qui

play21:08

appartient il est le même en fait pour

play21:10

tous les objets de la classe que vous

play21:11

allez créer et comment on le différencie

play21:13

bah au lieu de le créer par exemple dans

play21:14

le constructeur ou dans une méthode

play21:16

qu'on aurait on le crée dans la

play21:17

définition de la classe elle-même

play21:19

rappelez-vous un attribut c'est une

play21:20

variable donc je peux tout simplement la

play21:22

mettre ici par exemple alors le fameux

play21:24

le genre de chose qui peut être utile

play21:25

qu'on fait qu'on fait souvent c'est ça

play21:27

beaucoup le font c'est par exemple une

play21:29

variable qui dirait le nombre d'objets

play21:30

que l'on a créé pour un logiciel ça peut

play21:32

être le nombre de licences que qui ont

play21:33

été activé ce genre de choses d'accord

play21:35

ça peut être pas mal de pas mal d'idée

play21:36

euh que- çapp al là quand on parle

play21:39

d'humain on parle d'unité hein on peut

play21:40

imaginer par exemple faire une armée B

play21:41

on peut très bien avoir une fameuse euh

play21:44

tout simplement on mettre

play21:46

humain d'accord humain créé comme ceci

play21:50

donc c'est un voyez qu'il est en dehors

play21:52

hein de du constructeur on fait humain

play21:53

cré ég Z0 et après du coup une fois que

play21:56

là on a fait l'humain on peut dire du

play21:57

coup que humain créer d'accord à

play22:00

augmenté de 1 ok euh plus exactement

play22:04

pardon comme ceci alors pourquoi je fais

play22:08

ça parce que c'est un euh c'est pas en

play22:10

fait lié à quelque chose c'est si je

play22:12

fais self je vais créer un attribut de

play22:13

classe humain créé qui ne serait pas le

play22:15

même là je lui dis en fait que dans la

play22:16

classe humain il y a un attribut de

play22:19

classe pas un attribut tout court un

play22:20

attribut de classe qui s'appelle comme

play22:22

ceci je fais une modification dessus

play22:24

donc vous c'est bien voyez la différence

play22:25

quand ça appartient à l'objet en

play22:26

lui-même c'est self c'est lui-même quand

play22:28

c'est un attribut de classe on met le

play22:30

nom de la classe Point la variable donc

play22:32

c'est quelque chose qui va être en

play22:33

dehors donc ici et là chaque fois que je

play22:34

vais créer en fait un personnage donc je

play22:37

peux l'afficher hein je peux faire voilà

play22:39

humain existant par exemple donc je vais

play22:42

mettre

play22:43

ça point format là je vais mettre voyez

play22:47

humain en fait parce que c'est pas lié à

play22:48

un objet rappelez-vous c'est lié à la

play22:50

classe donc je mets humain point humain

play22:52

créer d'accord comme pour ici en fait

play22:54

comme ce que j'ai fait là donc je vais

play22:56

afficher ça et puis là je vais en créer

play22:58

un deuxième je vais créer H2 comme

play23:00

j'avais dit euh au début humain on va

play23:03

reprendre Albert ou là

play23:05

hop et on va afficher cette nouvelle

play23:08

ligne et là on va voir un peu la

play23:10

différence voilà création d'un humain

play23:12

d'accord il vous met qu' humain existant

play23:14

il y en a 1 et là humain existant il y

play23:15

en a deux vous voyez la variable va être

play23:17

la même pour tout le monde il va pas

play23:19

remettre à zéro en fait le compteur

play23:20

alors si on l'avait créé comme une

play23:22

variable de bah pour l'objet et ben elle

play23:23

serait à zéro pour chaque objet du coup

play23:25

en faisant + 1 bah elle passera à 1 pour

play23:27

tous les objets et là on aurait un et un

play23:28

pour chacun puisqu'ils auraient une

play23:30

variable à eux seul ils auraient chacun

play23:32

leur propre vari comme un attribut

play23:33

normal et comme ils ont leur prénom par

play23:35

exemple leur prénom il ben ils ont

play23:36

chacun leur prénom chacun leur âge bah

play23:38

là ils auraient chacun leur humain créé

play23:39

alors qu'ici en le mettant en dehors on

play23:41

en a fait un attribut de classe qui

play23:43

appartient non plus à l'objet mais à la

play23:44

classe en général et du coup tous les

play23:46

objets ont accès à cette même variable

play23:48

c'est un peu une variable globale en

play23:49

fait pour tous les objets vous créez

play23:50

toutes les instances que vous créez pour

play23:52

cette classe tout simplement si je peux

play23:53

le résumer en tout cas c'est comme ça

play23:54

que je le ferai voilà écoutez ben je

play23:56

pense qu'on a fait un peu le tour pour

play23:57

cette vidéo là je voulais rester sur

play23:58

tout ce qui est classe attribut je

play24:00

voulais pas trop compliquer pas trop en

play24:01

dire parce que he il y a beaucoup

play24:03

beaucoup de choses en objet donc on va y

play24:04

aller tranquillement pour que ce soit

play24:06

pas trop on va dire pas trop long et pas

play24:08

trop pas trop éprouvant pour vous hein

play24:10

si vous si vous démarrez surtout que la

play24:12

formation Python est l'une des plus

play24:13

accessibles quand vous êtes débutant

play24:14

d'informatique donc j'essaie de faire

play24:16

quelque chose le plus simple possible en

play24:17

tout cas pour que ça vous encourage par

play24:19

la suite à apprendre d'autres langages

play24:20

plus compliqués ou d'autres technologies

play24:21

tout simplement voilà donc on va en

play24:23

rester là pour cette petite séance

play24:25

numéro 11 dans la prochaine B on parlera

play24:26

des propriétés un petit peu on va voir

play24:28

les méthodes hein parce que là c'est

play24:29

bien on a créé des objets on a créé des

play24:31

humains mais on aimerait leur faire

play24:31

faire des choses les faire parler euh

play24:33

pourquoi pas leur faire faire voilà des

play24:34

actions tout simplement donc ce sont no

play24:36

sont nos méthodes rappelez-vous les

play24:38

méthodes sont tout simplement des

play24:39

fonctions qui appartiennent à une classe

play24:40

d'accord c'est rien rien de plus rien de

play24:42

moins c'est simplement une fonction mais

play24:44

propre à un objet quand on parle d'objet

play24:45

on dit des méthodes quand on parle de

play24:47

procédural par exemple on parle de de

play24:49

fonction et sur des anciens langages on

play24:51

parlait carrément de procédure voilà les

play24:53

noms ont changé mais en fait c'est un

play24:54

petit peu la même chose voilà et puis on

play24:56

verra donc dans cette dans cette 12e

play24:57

séance on regardardera un petit peu tout

play24:59

ça on parlera des des méthodes on

play25:00

parlera des propriétés et de pas mal

play25:02

d'autres petites choses liées justement

play25:03

avec ce qu'on peut faire avec nos

play25:04

différents objets que nous avons créés à

play25:06

très

play25:09

[Musique]

play25:26

bientôt

Rate This

5.0 / 5 (0 votes)

Related Tags
PythonPOOClassesObjetsAttributsConstructeurMéthodesDéveloppementTutorielsProgrammationInformatique
Do you need a summary in English?