Maison > Article > développement back-end > Une introduction base zéro à Python - méthodes magiques en treize catégories
Le blog précédent a brièvement parlé des connaissances de base des cours. Ensuite, nous nous concentrerons sur certaines méthodes couramment utilisées en cours. Un signe évident d’une méthode dite magique est que le nom de la méthode est entouré de deux traits de soulignement.
(1)_init_
Si vous ne surchargez pas ou ne réécrivez pas cette méthode, le système appellera automatiquement la méthode d'initialisation par défaut du système. Si vous réécrivez cette méthode pour répondre à vos propres besoins, la méthode que vous réécrivez remplacera automatiquement la méthode init par défaut. méthode par défaut du système.
class Ball: def __init__(self,name): self.name=name def kick(self): print("我叫%s,该死的,谁踢我......"%self.name) a=Ball("土豆") a.kick()
Après avoir réécrit nous-mêmes la méthode init, nous pouvons renseigner un paramètre lors de l'instanciation d'un objet.
class Rectangle: def __init__(self,x,y): self.x=x self.y=y def getPeri(self): return (self.x+self.y)*2 def getArea(self): return self.x * self.y rect=Rectangle(3,4) print(rect.getArea()) print(rect.getPeri())
(2)nouveau (deux traits de soulignement avant et après)
Cette méthode sera appelée avant la méthode init , généralement non utilisé, nous ne le répéterons donc pas ici
(3)del (deux traits de soulignement avant et après)
Fonction : Supprimer l'objet
class C: def __init__(self): print("我是__init__方法,我被调用了") def __del__(self): print("我是__del__方法,我被调用了") c1=C() c2=c1 c3=c2del c3del c2del c1
Ce qui doit être noté ici, c'est que ce n'est que lorsque toutes les balises pointant vers c1 seront supprimées que le système appellera le mécanisme de récupération de place
Plusieurs méthodes magiques courantes seront mentionnées ici en premier et seront ajoutées plus tard.
Ce qui précède est le contenu des méthodes magiques dans les treize catégories d'introduction à base zéro de Python. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !