在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Python开发的魔法方法总结:魔法方法就是可以给你的类增加魔力的特殊方法, __init__ 构造器,__new__才是实例化对象调用的第一个方法,__call__ 允许一个类的实例像函数一样被调用。
魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 它们经常是两个下划线包围来命名的(比如 __init__, __lt__),Python 的魔法方法是非常强大的,所以了解其使用方法也 变得尤为重要!
__init__ 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。
__new__才是实例化对象调用的第一个方法,它只取下 cls 参数,并 把 其他参数传给 __init__。 __new__很少使用,但是也有它适合的场景,尤其是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。
__call__ 允许一个类的实例像函数一样被调用。 __getitem__ 定义获取容器中指定元素的行为,相当于 self[key] 。 __getattr__ 定义当用户试图访问一个不存在属性的时候的行为 。 __setattr__ 定义当一个属性被设置的时候的行为。 __getattribute__ 定义当一个属性被访问的时候的行为 。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
如何理解Python开发中字符串中的\字符?
如何理解Python开发中字符串中的\字符?Python字符串中的\字符代表转义字符、路径名中用来连接路径名、编写太长代码手动软换行。
11497
2019-06-27 15:41:50
Python开发工程师面试题之爬虫面试题分享
Python开发工程师的就业方向非常多,其中一个方向就是python爬虫开发工程师,这也是很多企业热招的岗位之一。如何能提高自己面试的成功率,不仅仅需要开发者在学习工作中不断的积累专业技能知识,最关键的是在面试过程中能正常发挥。下面为大家提供几个Python爬虫工程师面试的题目,希望对大家的面试有帮助。
7656
2019-08-14 10:20:09
Python知识点详解:UDP和TCP协议的介绍
UDP和TCP都是传输层协议,不过却又一些不同。TVP提供IP环境下的数据可靠传输,它是实现为所发送的数据凯皮出连接的通道,然后再进行数据的发送。而UDP并不为IP提供可靠性,流控或差错回复功能。UDP和TCP到底如何定义?应用场景是如何的呢?下面小编就详细为大家解析一下。
7831
2019-07-11 17:18:53
Python框架Django项目实战教程
众所周知,Django框架是目前Python编程语言的主流Web框架,为什么这么说呢?这都源于Django框架自身无可比拟的优势,像是开发敏捷、配置简单、功能完善等等。Python开发者可以利用Django框架快速搭建出一个功能完整的网站,因此学习Django框架十分有必要。今天我将向大家推荐一个免费学习Python框架Django的项目实战教程,下面是教程详细内容的介绍。
7467
2020-01-08 15:51:45
Python主要用来做什么?
Python可以做web应用开发、网络爬虫、AI人工智能与机器学习、处理数据用来分析、数据科学:包括机器学习、数据分析和数据可视化、脚本等方面开发。
5217
2020-06-30 11:53:32