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)

上一篇下一篇

猜你喜欢

热点阅读