zoukankan      html  css  js  c++  java
  • 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)可判断是否是可调用对象。

                

  • 相关阅读:
    vue-修改vue项目运行端口号
    任正非521央视采访全文
    是施压还是真的决裂?
    贸易战风波继续
    华为对封杀的态度和格局
    美国封锁对华为的影响
    布鲁克斯法则 (Brooks's Law)
    2019第20周日
    如何让自己走的更远
    如何应对中年危机
  • 原文地址:https://www.cnblogs.com/balllyh/p/13362183.html
Copyright © 2011-2022 走看看