在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Python开发的魔法方法总结:魔法方法就是可以给你的类增加魔力的特殊方法, __init__ 构造器,__new__才是实例化对象调用的第一个方法,__call__ 允许一个类的实例像函数一样被调用。

魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 它们经常是两个下划线包围来命名的(比如 __init__, __lt__),Python 的魔法方法是非常强大的,所以了解其使用方法也 变得尤为重要!
__init__ 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。
__new__才是实例化对象调用的第一个方法,它只取下 cls 参数,并 把 其他参数传给 __init__。 __new__很少使用,但是也有它适合的场景,尤其是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。
__call__ 允许一个类的实例像函数一样被调用。 __getitem__ 定义获取容器中指定元素的行为,相当于 self[key] 。 __getattr__ 定义当用户试图访问一个不存在属性的时候的行为 。 __setattr__ 定义当一个属性被设置的时候的行为。 __getattribute__ 定义当一个属性被访问的时候的行为 。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python工程师数据库常见面试题
Python最开始是被用于编写自动化脚本的,但是随着python版本的迭代以及语言新功能的添加,越来越多的被用在项目开发领域。作为计算机程序设计语言,都需要与数据库实现交互。所以作为Python开发工程师你一定要熟练数据的使用。下面就为大家分享一些Python开发工程师面试过程中遇到的关于数据库的题目。
8767
2019-07-05 17:43:23
Python八大主要应用领域,你都知道吗?
python八大主要应用领域,你都知道吗?Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,因此Python的应用也越来越广泛,不论你是刚开始学习Python的小白还是已经接触了Python,都希望这篇文章能对大家有所帮助。
14033
2019-07-08 16:14:53
Python入门基础练习题整理附答案
在初学者Python入门的时候,一方面要多注重积累理论基础知识,另一方面就是要多练手。因此本文整理了Python入门的基础练习题,相信对初学者会有很大的帮助。
14293
2019-08-14 18:15:39
Docker入门到精通教程资源哪里有?
学Docker技术需要具有一定计算机理论基础的开发人员,没有基础的学员不建议先学习Docker,博学谷的ocker核心技术原理以及应用课程对Docker的核心技术以及原理剖析;传授学习方法和学习技巧,让开发人员掌握有效的学习方式。
5829
2019-11-08 17:32:23
Python数据分析可以用来做什么?
随着大数据时代的来临和Python编程语言的火爆,Python数据分析早已成为现在职场人的必备核心技能。Python的功能强大,在工作中的很多领域都可以用到。Python数据分析可以用来做些什么呢?
5701
2020-05-26 10:23:38
