Home > Article > Backend Development > A zero-based introduction to Python - magic methods in thirteen categories
The previous blog briefly talked about the basic knowledge of classes. Next, we will focus on some commonly used methods in classes. An obvious sign of a so-called magic method is that the method name is surrounded by two underscores.
(1)_init_
If you do not overload or rewrite this method, the system will automatically call the system default init method. If you rewrite this method to meet your own needs, your rewritten method will Automatically override the system's default method.
class Ball: def __init__(self,name): self.name=name def kick(self): print("我叫%s,该死的,谁踢我......"%self.name) a=Ball("土豆") a.kick()
After rewriting the init method ourselves, we can fill in a parameter when instantiating an object.
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)new (two underscores before and after)
This method will be called before the init method, generally It will not be used, so I won’t repeat it here
(3)del (two underscores before and after)
Function: delete the object
class C: def __init__(self): print("我是__init__方法,我被调用了") def __del__(self): print("我是__del__方法,我被调用了") c1=C() c2=c1 c3=c2del c3del c2del c1
Needed here Note: Only when all tags pointing to c1 are deleted, the system will call the garbage collection mechanism
Several common magic methods will be mentioned here first, and will be added later.
The above is the content of the magic methods in the thirteen categories of Python zero-based introduction. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!