Home  >  Article  >  Backend Development  >  A zero-based introduction to Python - magic methods in thirteen categories

A zero-based introduction to Python - magic methods in thirteen categories

黄舟
黄舟Original
2017-01-16 14:38:001299browse

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.

A zero-based introduction to Python - magic methods in thirteen categories

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())

A zero-based introduction to Python - magic methods in thirteen categories

(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

A zero-based introduction to Python - magic methods in thirteen categories

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)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn