python中的__getitem__、__len__方法详解

1、__ getitem__(self,key):返回键对应的值

如果在类中定义了__getitem__()方法,那么它的实例对象(假设为P)就可以以P[key]形式取值,当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。当对类的属性进行下标的操作时,首先会被__getitem__() 拦截,从而执行在__getitem__()方法中设定的操作,如赋值,修改内容,删除内容等。

class Tag:
    def __init__(self,id):
        self.id=id
 
    def __getitem__(self, item):
        print('这个方法被调用')
        return self.id
 
a=Tag('This is id')
print(a.id)
print(a['python'])

>
'这个方法被调用'
'This is id'

2、__ len__():返回元素的数量

 class Students(object):
    def __init__(self, *args):
        self.names = args
    def __len__(self):
        return len(self.names)
        
 ss = Students('Bob', 'Alice', 'Tom')
 print len(ss)
 >
 3
展开阅读全文
©️2020 CSDN 皮肤主题: 1024 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值