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

魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 它们经常是两个下划线包围来命名的(比如 __init__, __lt__),Python 的魔法方法是非常强大的,所以了解其使用方法也 变得尤为重要!
__init__ 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。
__new__才是实例化对象调用的第一个方法,它只取下 cls 参数,并 把 其他参数传给 __init__。 __new__很少使用,但是也有它适合的场景,尤其是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。
__call__ 允许一个类的实例像函数一样被调用。 __getitem__ 定义获取容器中指定元素的行为,相当于 self[key] 。 __getattr__ 定义当用户试图访问一个不存在属性的时候的行为 。 __setattr__ 定义当一个属性被设置的时候的行为。 __getattribute__ 定义当一个属性被访问的时候的行为 。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
使用Python开发游戏可以吗?
用Python开发游戏完全没有问题,游戏里面要用到一些全局变量、加载资源、创建开始界面、开始游戏,舞台层鼠标点击事件的监听器是startGame函数,也就是我们点击开始界面就开始游戏。
9845
2019-07-09 17:50:31
学python需要考证吗?考证有什么好处?
对于学习Python的人来说,常常具有这样的疑问:学python需要考证吗?考证有什么好处?
25183
2019-07-11 16:27:46
怎样解决数据库高并发的问题
解决数据库高并发使用缓存式的Web应用程序架构、增加Redis缓存数据库、增加数据库索引、页面静态化、使用存储过程、MySQL主从读写分离、分表分库、负载均衡集群。
12053
2019-07-16 16:20:35
如何提高github下载速度到2MB/s?
常用方法通过代理连接是,但实际中并不稳定。因为网络连接,在国内从github上面下载代码的速度峰值通常都是20kB/s。对于那些小项目够用,而对于大的并带有很多子模块的项目来说耗时较久。
7373
2020-05-28 11:27:32
Python 成为最受欢迎的语言靠实力吗?
Python起源一种shell的脚本语言 ,而现在已经发展成最通用的语言之一了,TIOBE指数的数据显示,Python是目前世界上最受欢迎的编程语言。
6315
2022-05-06 14:24:58
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
