Python基础23-面向对象(系统内置方法3-索引操作)
2018-05-22 本文已影响11人
Jacob_LJ
Python基础-面向对象(方法)
3 索引操作
作用
可以对一个实例对象进行索引操作
步骤
1. 实现三个内置方法
设置元素的方法
def __setitem__(self, key, value):
获取元素的方法
def __getitem__(self, item):
删除元素的方法
def __delitem__(self, key):
2. 可以以索引的形式操作对象
增/改
p[1] = 666
p["name"] = "sz"
查
p["name"]
p[1]
删
del p["name"]
del p[1]
class Person:
def __init__(self):
self.cache = {}
def __setitem__(self, key, value):
# print("setitem", key, value)
self.cache[key] = value
def __getitem__(self, item):
# print("getitem", item)
return self.cache[item]
def __delitem__(self, key):
# print("delitem", key)
del self.cache[key]
p = Person()
p["name"] = "fkm"
print(p["name"])
del p["name"]
# print(p["name"]) # error 实际报错是 __getitem__实例方法内的 cache 字典获取操作
print(p.cache)