Vous avez attendu cela pendant longtemps parce que j'ai évité de parler de ces méthodes magiques Dundar pendant
longtemps.
Dans cette vidéo, nous allons enfin découvrir ce qu'ils font maintenant.
Nous pouvons voir ce que notre instance a comme méthodes en utilisant la méthode door.
Et nous vous avons dit que ceux-ci étaient hérités de notre classe d'objets de base.
Maintenant, cela souligne nos méthodes spéciales.
Rappelez-vous comment nous avons des choses comme LENTH, par exemple, qui nous permettent de dire la longueur d'un tableau.
Celles-ci sont en fait mises en œuvre à l'aide de ces méthodes Dundar.
Ils nous permettent d'utiliser des fonctions spécifiques à Python sur des objets créés via notre classe.
Alors laissez-moi vous montrer ce que je veux dire.
Nous allons créer une nouvelle classe et ce sera une classe de jouets.
Maintenant, ici, nous allons définir un jouet et l'initialiser avec self.
On dira alors qu'il a de la couleur et de l'âge.
Maintenant dira que la couleur est égale à la couleur.
Ce seront donc nos attributs.
Et H.
Impressionnant.
Voilà notre classe maintenant, disons que nous voulons créer une figurine articulée.
Cette figurine articulée sera instanciée avec un jouet, disons la couleur du rouge et les âges, c'est tout neuf, donc
c'est proche.
Maintenant, si j'utilise quelque chose comme, disons s t r qui vient avec cet objet, si je fais une étoile ou
une figurine d'action soulignement point souligné s t r comme ça.
Et nous imprimons ceci.
Nous voyons que nous obtenons ceci.
C'est exactement la même chose que nous en faisant une figurine articulée SDR.
Comme ça.
Regarde ça.
Ces méthodes Dundar à double soulignement sont des méthodes spéciales que Python reconnaît.
Par exemple, l'étoile Dundar, cette méthode spéciale nous permet d'utiliser une figurine comme celle-ci en utilisant la
fonction étoile intégrée.
En fait, si vous allez dans la documentation Python sous la section des noms de méthodes spéciales,
vous verrez que nous pouvons faire des personnalisations de base de ces méthodes Dundar et c'est une longue liste de toutes ces méthodes
Dundar que nous pouvons utiliser.
Maintenant, n'allez pas lire chacun d'eux.
Il y en a beaucoup et vous n'allez pas les utiliser si souvent.
Il n'y a que quelques cas spécifiques dans lesquels vous allez les utiliser.
Et l'idée est de savoir comment les modifier et comment ils fonctionnent sous le capot.
Alors.
Passons en revue quelques exemples, par exemple, modifions ce que fait l'ATSDR, je vais
définir ici mon propre SDR.
Je vais m'appeler moi-même.
Et puis ici, je vais retourner quelque chose de différent, je vais retourner, disons, une chaîne
F.
C'est, disons, la couleur autodidacte.
Si je lance ça.
Je deviens rouge.
Rappelez-vous comment il a dit de ne pas modifier les méthodes de Dundar ?
Eh bien, parfois vous êtes autorisé à peut-être qu'il y a des cas, des cas spéciaux où vous voulez que
votre classe se comporte d'une certaine manière, tout comme les dictionnaires, les listes, les tuples et tous nos objets en Python peuvent se comporter de
certaines manières.
Comment les listes ont été accédées avec un numéro d'index et un dictionnaire a été accédé avec la clé.
Ceux-ci sont tous mis en œuvre à l'aide de ces méthodes de duder.
Et vous voyez ici que parce que nous avons modifié cela, l'étoile renvoie maintenant une rouge s'appelant une figurine d'action.
Cela ne change rien à part avec une figurine articulée, si je lance ceci, vous verrez qu'il exécute toujours une figurine
articulée comme celle-ci car il s'agit d'une chaîne.
L'étoile n'est modifiée que lorsque nous l'utilisons sur cet objet spécifique.
Ainsi.
Que pouvons-nous faire d'autre ?
Eh bien, nous pouvons également changer le sens de la longueur.
Tellement long, je peux dire moi-même.
Et ici, je peux juste revenir.
Maintenant, si j'imprime.
Longueur de la figurine articulée.
Et je clique sur exécuter.
J'en reçois cinq.
Très cool, d'ailleurs, si ce soulignement devient un peu ennuyeux, ce qui franchement pour moi ça devient un peu ennuyeux, je
vais cliquer sur les paramètres ici et juste supprimer l'intelligence du code pour qu'il ne me dise pas
quand mon code est faux, mais j'espère que vous pourrez le déboguer nous-mêmes.
Très bien.
Alors voilà, nous venons de changer la longueur Dundar pour revenir cinq.
Continuons à expérimenter, nous pouvons aussi faire quelque chose comme le soulignement, le soulignement, la suppression et la suppression.
Eh bien, utilisons le mot clé de suppression, que nous n'avons jamais vu auparavant.
Supprimer.
On peut juste dire retour.
Supprimé.
Vous devez faire comme ça et imprimons simplement ici, impression supprimée si je clique sur exécuter.
Je vois que j'ai renvoyé supprimé maintenant le mot clé de suppression que je ne vous ai pas vraiment appris car ce n'est
pas quelque chose que vous verrez souvent.
Cela peut provoquer des bugs amusants dans nos programmes que j'aime personnellement éviter.
Mais le mot clé delete supprime une sorte de variable que nous aurions pu avoir dans notre programme.
À droite.
Qu'y a-t-il d'autre?
Modifions cela pour utiliser quelque chose appelé call.
Et le charbon est intéressant.
Disons qu'avec le charbon, on va revenir et disons oui, point d'interrogation.
La chose intéressante à propos de Carl est que maintenant cela donne à notre classe de jouets un super pouvoir, nous
pouvons dire figurine et ensuite dire, eh bien, avec Carl, nous pouvons maintenant appeler l'objet réel avec ces Brackett.
Donc, en utilisant call, j'ai cette façon spéciale d'appeler une fonction qui, soit dit en passant, sous le capot,
la façon dont nous pouvons appeler des fonctions utilise cet appel Dundar.
Et si je clique, cours.
Je reçois oui, à quel point est-ce cool?
Très bien, un dernier, parce que je pense que vous commencez à en avoir l'idée, comme je l'ai dit,
ils sont tous disponibles ici.
Habituellement, vous ne voulez pas les écraser, mais vous voulez juste savoir que vous avez le pouvoir de le faire.
Si vous choisissez, le suivant s'appelle get item.
Définissons donc get item.
Encore une fois, nous allons utiliser self au premier paramètre, puis disons I pour index
et ici nous retournerons self dot et ajoutons un attribut avant d'ajouter cela, je vais dire self dot mon dict pour mon
dictionnaire, puis ajoutez le nom.
Il va vers toi.
Et disons a animaux de compagnie égal à faux.
Maintenant, en utilisant ceci, je peux dire mon.
DECT.
Et retourner l'élément en fonction de l'indice que nous lui donnons.
Alors laissez-moi vous montrer ce que je veux dire, si j'imprime maintenant.
Action figure Dot, et ici, au lieu de faire le point, nous faisons les crochets comme nous aurions accès, peut-être pour obtenir
un élément de dictionnaire que nous pouvons maintenant utiliser pour obtenir l'élément, dire quelles propriétés nous avons le
nom.
Alors disons le nom.
Et si j'imprime cette POO.
J'ai oublié d'ajouter une virgule ici.
Essayons encore.
Et si je fais défiler vers le bas, vous pouvez voir que je suis vraiment doué pour lire les erreurs, la figurine articulée du nom de Namir
n'est pas définie car c'est une figurine articulée, pas Fugere.
C'est mieux, regardez ça, mon nom, Yo-Yo, était en mesure d'accéder en utilisant cette notation
entre crochets en utilisant l'élément d'obtention Dundar très, très cool.
Donc, ces méthodes magiques spéciales sont vraiment intéressantes car elles nous permettent de bien faire, des modifications
personnalisées de nos classes.
Et vous pouvez également comprendre comment dans Python sont intégrés les types par défaut avaient accès et capacités à avoir
toutes ces syntaxes spéciales.
Nous avons maintenant ce pouvoir aussi.
Faisons une pause et faisons un peu d'exercice.