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

魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 它们经常是两个下划线包围来命名的(比如 __init__, __lt__),Python 的魔法方法是非常强大的,所以了解其使用方法也 变得尤为重要!
__init__ 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。
__new__才是实例化对象调用的第一个方法,它只取下 cls 参数,并 把 其他参数传给 __init__。 __new__很少使用,但是也有它适合的场景,尤其是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。
__call__ 允许一个类的实例像函数一样被调用。 __getitem__ 定义获取容器中指定元素的行为,相当于 self[key] 。 __getattr__ 定义当用户试图访问一个不存在属性的时候的行为 。 __setattr__ 定义当一个属性被设置的时候的行为。 __getattribute__ 定义当一个属性被访问的时候的行为 。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python工程师常见面试题集锦--网络编程(2)
Python编程语言应用领域极其广泛,目前被广泛应用于人工智能、数据分析、自动化运维、自动化测试、全栈开发领域。对于全栈开发工程师而言,网络编程是非常重要的一个环节。在面试过程中遇到网络编程的问题怎么办?下面小编整理了几个Python网络编程相关的问题与大家分享。
7506
2019-07-03 17:49:56
现在学Python怎么样?还来得及吗?
现在学Python怎么样?还来得及吗?有这样疑问的小伙伴一定是对Python还不够了解,同时还缺乏学习的决心。目前Python在IT培训中掀起了一股学习的热潮。除了Python自身的优势外,还因为它在各行各业的广泛应用。既然学Python有这么广阔的就业前景,那么什么时候学习都不晚。
5682
2019-10-07 19:46:51
Flask框架开发实战智能租房教程
相信大家都知道,Flask作为web框架是最好的选择。尤其对于想掌握web开发框架运用,独立实现项目工程开发的初级工程师来说。本文将介绍博学谷精心打造的Flask框架开发实战智能租房教程,内容包括课程简介、课程特色和课程收获,感兴趣的学员可以接着看下去。
6695
2019-11-09 17:00:07
2021年Python程序员薪资待遇如何?
目前Python开发工程师的平均薪资逼近20k,各大企业很重视会Python人才。随着AI时代和大数据的到来,Python语言应用越来越广泛。
4917
2021-01-11 13:55:57
资源路径有几种?代码怎么写?
资源路径有几种?代码怎么写?路径分为相对路径和绝对路径,相对路径,从当前操作 HTML 的文档所在目录算起的路径叫做相对路径;从根目录算起的路径叫做绝对路径,Windows 的根目录是指定的盘符。
4255
2021-12-15 11:06:58
