软件测试中的魔法方法指的是什么?

玩技站长
玩技站长
管理员, Keymaster
11052
文章
0
粉丝
测试分享评论121字数 346阅读1分9秒阅读模式
摘要魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现 (重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一...
魔法方法就是可以给你的类增加魔力的特殊方法
软件测试中的魔法方法指的是什么?插图

如果你的对象实现 (重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 它们经常是两个下划线包围来命名的(比如 __init__,__lt__),Python 的魔法方法是非常强大的,所以了解其使用方法也变得尤为重要!__init__ 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。

__new__才是实例化对象调用的第一个方法,它只取下 cls 参数,并把 其他参数传给 __init__。 __new__很少使用,但是也有它适合的场景,尤其 是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。文章源自玩技e族-https://www.playezu.com/708420.html

__call__ 允许一个类的实例像函数一样被调用 。文章源自玩技e族-https://www.playezu.com/708420.html

__getitem__ 定义获取容器中指定元素的行为,相当于 self[key] 。文章源自玩技e族-https://www.playezu.com/708420.html

__getattr__ 定义当用户试图访问一个不存在属性的时候的行为 。文章源自玩技e族-https://www.playezu.com/708420.html

__setattr__ 定义当一个属性被设置的时候的行为 。文章源自玩技e族-https://www.playezu.com/708420.html

__getattribute__ 定义当一个属性被访问的时候的行为 。文章源自玩技e族-https://www.playezu.com/708420.html 文章源自玩技e族-https://www.playezu.com/708420.html

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证