zoukankan      html  css  js  c++  java
  • python基础===成员访问__len__()和__getitem__()

    class A:
    
        def __init__(self,*args):
            self.name = arg
            pass
    
        def __len__(self):
            return len(self.name)
    
    
    a = A("32","asda",435)
    print(len(a)) 
    # 3

    返回对象实例的“长度”

     

     

    凡是在类中定义了这个__getitem__ 方法,那么它的实例对象(假定为p),可以像这样p[key] 取值,当实例对象做p[key] 运算时,会调用类中的方法__getitem__。

    一般如果想使用索引访问元素时,就可以在类中定义这个方法(__getitem__(self, key) )。

    class DataBase:
        '''Python 3 中的类'''
    
        def __init__(self, id, address):
            '''初始化方法'''
            self.id = id
            self.address = address
            self.d = {self.id: 1,
                      self.address: "192.168.1.1",
                      }
    
        def __getitem__(self, key):
            # return self.__dict__.get(key, "100")
            return self.d.get(key, "default")
           
    
    data = DataBase(1, "192.168.2.11")
    print(data["hi"])
    print(data[data.id])

    顺便提一下

    如果有任何问题,你可以在这里找到我 ,软件测试交流qq群,209092584

    参考资料:

    https://blog.csdn.net/u013061183/article/details/74773196

    https://zhuanlan.zhihu.com/p/27661382

  • 相关阅读:
    keepass
    gpg
    Wireshark实践
    ssh
    namp
    第十二周
    第十一周
    第十周总结
    第九周学习总结
    编程语言
  • 原文地址:https://www.cnblogs.com/botoo/p/8947516.html
Copyright © 2011-2022 走看看