Python的魔法方法

本文阅读 2 分钟
首页 Python笔记 正文

魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python所调用,你可以定义自己想要的行为,而这一切都是自动发生的,它们经常是两个下划线包围来命名的(比如__init___,__len__),Python的魔法方法是非常强大的所以了解其使用方法也变得尤为重要!

__init__构造器,当一个实例被创建的时候初始化的方法,但是它并不是实例化调用的第一个方法。

__new__才是实例化对象调用的第一个方法,它只取下cls参数,并把其他参数传给__init___.

___new__很少使用,但是也有它适合的场景,尤其是当类继承自一个像元祖或者字符串这样不经常改变的类型的时候。

__call__让一个类的实例像函数一样被调用

__getitem__定义获取容器中指定元素的行为,相当于self[key]

__getattr__定义当用户试图访问一个不存在属性的时候的行为。

__setattr__定义当一个属性被设置的时候的行为

__getattribute___定义当一个属性被访问的时候的行为

解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

Python中的可变对象和不可变对象?
« 上一篇 01-31
面向对象中怎么实现只读属性?
下一篇 » 01-31

发表评论