• Python之用__XXX__定制类


    一、常见__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)可判断是否是可调用对象。

                

  • 相关阅读:
    NOIP普及组2003经验总结
    Day6上午 DP练习题
    Day4 图论
    Day3 数据结构
    使用ettercap进行dns欺骗和获取目标浏览的图片
    flask入门
    攻防世界-web-unserialize3
    数据结构课设作业-----飞机订票系统
    bugku NaNNaNNaNNaN-Batman
    it's a test
  • 原文地址:https://www.cnblogs.com/balllyh/p/13362183.html
Copyright © 2020-2023  润新知