原创 Python开发的魔法方法总结

发布时间:2019-07-01 15:55:02 浏览 4195 来源:博学谷资讯 作者:三省

      Python开发的魔法方法总结:魔法方法就是可以给你的类增加魔力的特殊方法, __init__ 构造器,__new__才是实例化对象调用的第一个方法,__call__ 允许一个类的实例像函数一样被调用。

     

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


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


      __new__才是实例化对象调用的第一个方法,它只取下 cls 参数,并 把 其他参数传给 __init__。 __new__很少使用,但是也有它适合的场景,尤其是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。


      __call__ 允许一个类的实例像函数一样被调用。 __getitem__ 定义获取容器中指定元素的行为,相当于 self[key] 。 __getattr__ 定义当用户试图访问一个不存在属性的时候的行为 。 __setattr__ 定义当一个属性被设置的时候的行为。 __getattribute__ 定义当一个属性被访问的时候的行为 。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: Python开发生成器和迭代器的区别? 下一篇: Python开发中match和search的区别是什么

相关推荐 更多

热门文章

  • 缓存淘汰策略有几种?要怎么用?
  • 软件测试极速就业班课程怎么样?零基础能学吗
  • 狂野架构师学习效果好不好?互联网Java架构师前景怎么样?
  • 博学谷狂野大数据学习效果好不好?课程怎么样?
  • Redis持久化机制实现原理是什么?流程是什么?
  • 万物互联是什么?会带来哪些改变?
  • MySQL索引种类有哪些?底层实现原是什么
  • 零基础转行IT互联网岗位月入过万需要多久?
  • 从0搭建后端技术涉及到哪些知识点?
  • 疫情下的医疗行业如何快速响应的?互联网技术功不可没
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码