最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python零基础入门之十三类中的魔法方法

来源:懂视网 责编:小采 时间:2020-11-27 14:16:57
文档

Python零基础入门之十三类中的魔法方法

Python零基础入门之十三类中的魔法方法:上一篇博客简单的说了类的基础的知识,下面着重说一下类中常用的一些方法。所谓魔法方法的一个明显的标志就是方法名前后都被_两根下划线所包含。 (1)_init_ 如果不去重载或者重写该方法,系统会自动调用系统默认的init方法,如果为了满足自己的需求而重写该方
推荐度:
导读Python零基础入门之十三类中的魔法方法:上一篇博客简单的说了类的基础的知识,下面着重说一下类中常用的一些方法。所谓魔法方法的一个明显的标志就是方法名前后都被_两根下划线所包含。 (1)_init_ 如果不去重载或者重写该方法,系统会自动调用系统默认的init方法,如果为了满足自己的需求而重写该方
上一篇博客简单的说了类的基础的知识,下面着重说一下类中常用的一些方法。所谓魔法方法的一个明显的标志就是方法名前后都被_两根下划线所包含。
(1)_init_
如果不去重载或者重写该方法,系统会自动调用系统默认的init方法,如果为了满足自己的需求而重写该方法后,自己重写的方法会自动覆盖系统的默认的方法。

class Ball:
 def __init__(self,name):
 self.name=name def kick(self):
 print("我叫%s,该死的,谁踢我......"%self.name)
a=Ball("土豆")
a.kick()

经过自己重写init方法之后,我们在实例化一个对象的时候便可以填入一个参数。

150.png

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

151.png

(2)new(前后有两根下划线)
这个方法会在init方法之前被调用,一般不会用到,所以在这里不赘
(3)del(前后有两根下划线)
作用:删除对象

class C:
 def __init__(self):
 print("我是__init__方法,我被调用了") def __del__(self):
 print("我是__del__方法,我被调用了")
c1=C()
c2=c1
c3=c2del c3del c2del c1

152.png

在这里需要注意的是:只有当指向c1的所有标签都被删除之后,系统才会调用垃圾回收机制
几个常用的魔法方法就先说到这里,之后会继续补充。

文档

Python零基础入门之十三类中的魔法方法

Python零基础入门之十三类中的魔法方法:上一篇博客简单的说了类的基础的知识,下面着重说一下类中常用的一些方法。所谓魔法方法的一个明显的标志就是方法名前后都被_两根下划线所包含。 (1)_init_ 如果不去重载或者重写该方法,系统会自动调用系统默认的init方法,如果为了满足自己的需求而重写该方
推荐度:
标签: 方法 13 魔法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top