面向对象:__getitem__、__setitem__、__delitem__
item系列
class Person(object): def __init__(self, name): self.name = name def __getitem__(self, item): return self.__dict__[item] def __setitem__(self, key, value): self.__dict__[key] = value def __delitem__(self, key): del self.__dict__[key] obj = Person("pd") ret = obj["name"] # 自动执行 __getitem__ 方法 print(ret) # pd obj["name"] = "佩奇" # 自动执行 __setitem__ 方法 print(obj["name"]) # 佩奇 del obj["name"] # 自动执行 __delitem__ 方法 # print(obj["name"]) # 报错,KeyError: 'name'