优草派 > Python

Python的魔法方法是什么意思?什么是Python的类方法?

曾维俊         优草派

很多小伙伴在学习Python程序的时候,会遇到用“__”双下划线包起来的代码,这是一串什么意思的代码呢?就让我们来深入了解一下吧!

Python的魔法方法是什么意思?什么是Python的类方法?

一、Python的“魔法方法”

Python中,所有“__(函数名)__”双下划线包裹的这种方式的代码就叫做“魔法方法”,这种方法在特定的条件下会自动调用;当然也可以手动添加,但是需要保证他们的方法名通常会被左右两个双下划线包裹。

二、常用的“魔法方法”

1)__add__(self,other):定义“+”运算符的魔法方法;

2)__sub__(self,other):定义“-” 运算符的魔法方法;

3)__mul__(self,other):定义“*” 运算符的魔法方法;

4)__truediv__(self,other):定义“/” 运算符的魔法方法;

5)__floordiv__(self,other):定义“//” 运算符的魔法方法;

6)__mod__(self,other):定义“%”运算符的魔法方法;

7)__pow__(self,other[,modulo]):定义“**”或者次方运算的魔法方法;

8)__init__(self[,...]):初始化被创建的实例对象;

9)__new__(cls[,...]):创建实例然后返回该实例对象;

10)__del__(self):销毁实例时调用的魔法对象。

11)......

三、“init”和“new”的区别

在我们常用的“魔法方法”当中,最难学习的也是最容易混淆的就是“__init__”和“__new__”方法,虽然在实际的开发并不需要深入的探讨这个问题,但是作为一名学习者,了解Python函数的本质也是关键一步。

l相同点:都是Python面向对象程序中的函数。

l不同点:

u“__new__”一般是在实例创建之前调用,他是创建实例然后再返回实例对象。

u“__init__”是在实例创建完成之后才能被调用,可以在此函数内部保存初始值,用在类的实例化的时候。

l总结:在Python面向对象的程序编写中,先调用“__new__”,后调用“__init__”,“__new__”返回值的值是传递到“__init__”的第一个参数中,“__init__”给这个实例设置初始值。

四、总结

以上就是Python“魔法方法”的解释以及衍生的知识了,在学习到面向对象编程思想的时候更是要频繁的使用这类方法;了解每个方法大概有什么功能其实也是学习的一部分,毕竟防范于未然,在碰到此类方法的时候,也不会手忙脚乱的查资料啦。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024