Content de te revoir.
Dans la vidéo précédente, nous avons vu que nous avons fait de gros bobos, c'est-à-dire que nous avons écrasé le nom et la parole,
et maintenant tout ce travail acharné que nous avons mis dans notre classe a été annulé par cela.
Je veux dire, bien sûr, si nous instancions un nouvel objet.
Nous aurons notre course et parler, mais le joueur un est maintenant complètement inutile, il n'a pas de nom et ne parle, mais
il dit juste Bouh, complètement inutile.
Maintenant, en Python, il y a cette idée de public et de privé, et cela est lié à
notre discussion sur l'abstraction, l'idée derrière l'abstraction est que nous cachons les informations et ne donnons accès qu'aux
choses qui préoccupent un utilisateur.
À droite.
Donc idéalement, nous ne devrions pas y avoir accès.
Idéalement, nous ne devrions pas pouvoir, disons, modifier, exécuter ou modifier le nom et l'âge, car lorsque nous
créons un personnage de joueur dans notre jeu, nous espérons que le joueur peut simplement changer son nom ou son âge
au hasard.
Et se faufiler dans notre jeu, qui n'a peut-être que 18 ans et plus.
Alors pouvons-nous créer une variable privée dans notre classe ?
Eh bien, voici la chose.
Certains langages nous permettent d'avoir des variables privées.
Par exemple, dans un langage comme Java, je peux en fait dire qu'un attribut est privé comme celui-ci, et je ne
pourrai pas y accéder et le modifier comme je l'ai fait de cette façon.
Mais en Python, il n'y a pas de vraie confidentialité, pas de vraies variables privées.
Alors, comment pouvons-nous contourner cela?
Eh bien, ce que nous ferions, c'est de souligner le nom ou de souligner H.
Maintenant, cela donne-t-il un pouvoir spécial ?
Non, c'est juste une convention qui est en tant que programmeurs, en tant que programmeurs Python, nous avons déterminé
que, hé, si nous voyons un trait de soulignement dans notre code, cela signifie très probablement qu'il devrait s'agir d'une variable privée.
Ainsi, lorsque je l'utilise dans parler, disons le nom de soulignement, le soulignement H.
Et commentons ça si je clique, Ron.
Eh bien, je dois l'exécuter parce que maintenant c'est une méthode, exécutons.
Et je m'appelle Andre, et j'ai 100 ans.
Tout fonctionne, mais si j'essaie de l'écraser et de cliquer sur Exécuter.
OK, et maintenant, parce que ce n'est plus une méthode, enlevons, parlons et je clique sur exécuter.
Cela fonctionne toujours, et c'est parce que, comme je l'ai dit, il n'y a pas de vraies variables privées en tant que programmeurs, nous avons décidé que
le soulignement signifie que vous ne devriez pas nous toucher.
S'il te plaît, ne touche pas à ça.
Vous pouvez toujours être mauvais et faire quelque chose comme ça.
Mais je vous préviens à l'avance.
Si vous voyez un trait de soulignement, cela ne devrait pas être modifié.
Cela devrait être privé.
Et c'est ainsi que nous obtenons la confidentialité en Python.
Nous avons tous été d'accord pour dire, hé, gardons cette petite chose privée.
Donc, si jamais vous voulez garder une méthode ou un attribut privé, il vous suffit de mettre un trait de soulignement devant.
Mais ce n'est pas une garantie.
Qu'en est-il de ce double soulignement init ?
Encore une fois, c'est quelque chose dont nous allons parler très bientôt, mais cela s'appelle une méthode de Dundar.
C'est-à-dire qu'il est intégré à Python.
Et nous n'écrivons généralement jamais nos propres méthodes Dundar, nous n'écrirons jamais de double soulignement, écrivez ceci.
Ces doubles traits de soulignement et il y en a beaucoup ont une signification particulière en Python.
Et la raison pour laquelle leur nom comme celui-ci est parce qu'ils disent, hé, si vous écrivez un double trait de soulignement pour
votre variable, vous faites quelque chose de très mal, vous êtes sur le point d'écraser quelque chose.
Donc, encore une fois, ce double trait de soulignement est également une convention pour faire savoir aux gens que vous ne
devriez pas vraiment y toucher ou le modifier avec chaque type de données.
Disons une liste.
Si je fais Dot, vous le verrez en faisant défiler vers le bas.
Vous avez beaucoup de ces méthodes Dundar, encore une fois, quelque chose dont nous allons parler.
Mais ceux-ci sont là pour vous le faire savoir, ne les écrasez pas.
Si vous faites quelque chose comme underscore, underscore, je ne sais pas doc comme ça, c'est mauvais.
N'essayez pas de le modifier et de l'attribuer en cinq.
Donc cette idée d'un champ privé est importante pour Python, et bien que nous puissions écraser beaucoup de choses, c'est une
mauvaise pratique.
Mais ramenons-le à l'abstraction.
L'idée est de faire abstraction de ce code.
Et bien qu'il puisse être modifié et remplacé en utilisant ces conventions appropriées comme les attributs privés, nous pouvons faire abstraction
des choses, tout en nous assurant que tout ce que l'utilisateur pourrait utiliser ne va pas
casser notre code.
Je te verrai dans le prochain, Bob.