首页 > 编程语言 > 详细

Python之用__XXX__定制类

时间:2020-07-22 19:01:11      阅读:67      评论:0      收藏:0      [点我收藏+]

一、常见__XXX__

     在python中像__slots__等__XXX__的变量/函数名都是有特殊用处的。

  (1)__str__:打印一个实例,能返回内部的字符串。

         通常我们直接打印实例,返回的是一串内存地址  

         技术分享图片

         如果使用__str__,直接打印实例,返回一串字符串

         技术分享图片

    (2)__iter__:实现一个类用于for ..in循环,返回一个可迭代对象。

         技术分享图片

  (3)__getitem__:在类中定义了__getitem__方法,其实例为p,直接用p【key】取值

          技术分享图片

   (4)__getattr__:调用类中不存在的方法/属性时会报错,用__getattr_,当调用不存在的属性时,动态返回一个属性。

                               当属性存在时,是不会调用_getattr_.

           注意到任意调用如s.abc都会返回None,这是因为我们定义的__getattr__默认返回就是None

           技术分享图片

   (5)__call__:若在类中实现了__call__方法,会将实例对象变成可调用对象。

                         可调用对象(callable):类,函数等,callable(s)可判断是否是可调用对象。

            技术分享图片

 

Python之用__XXX__定制类

原文:https://www.cnblogs.com/balllyh/p/13362183.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!