class Example(object):
def __init__(self):
self.kk = {}
def __call__(self,id):
self.kk["id"] = id
def __getitem__(self,id):
return self.kk[id]
def __setitem__(self,id,value):
self.kk[id] = value
example = Example()
example["name"] = "oyp" # 相当于 example.__setitem__("name","oyp")
print example["name"] # 相当于 print example.__getitem__("name")
example(123) # 相当于 example.__call__(123)