05 #### `__getitem__、__setitem__、__delitem__` 支持对:对象操作

# __getitem__、__setitem__、__delitem__

class content:

    def __init__(self, name, age):
        self.name = name
        self.age = name

    def __getitem__(self, item):
        pass

    def __setitem__(self, key, value):
        pass

    def __delitem__(self, key):
        pass


obj = content('test', 20)  # 未增加 __getitem__ 无法通过列表方式进行输出,提示:'content' object is not subscriptable
# 如果需要支持列表显示,在类中增加 __getitem__ 方法
print(obj[0])  # 会自动执行:__getitem__ ,将下索引为:0 的值传给:item

obj[1] = 123  # 会触发类中的: __setitem__ 方法

del obj[0]  # 会触发类中的: __delitem__ 方法

posted @ 2024-09-27 06:24  jhchena  阅读(3)  评论(0编辑  收藏  举报