05 #### `__getitem__、__setitem__、__delitem__` 支援對:物件操作

jhchena發表於2024-09-27
# __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__ 方法

相關文章