定制序列
一、__len__()和__getitem__()
如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值。当实例对象做P[key]运算时,就会调用类中的__getitem__()方法
# -*- coding:utf-8 -*-
class DataTest:
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 "hello"
data=DataTest(1,"192.168.2.11")
print data[2]
二、字典定制
class Countlist:
def __init__(self, *args):
self.values = [x for x in args]
self.count ={}.fromkeys(range(len(self.values)),0)
def __len__(self):
return len(self, values)
def __getitem__(self, key):
self.count[key]+=1
return self.values[key]