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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM