目錄
一、__setitem__
二、__getitem__
三、__delitem__與__delattr__
python從小白到總裁完整教程目錄:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm=1001.2014.3001.5502
class Foo:def __init__(self, name):self.name = namedef __getitem__(self, item):print('getitem執行', self.__dict__[item])def __setitem__(self, key, value):print('setitem執行')self.__dict__[key] = valuedef __delitem__(self, key):print('del obj[key]時,delitem執行')self.__dict__.pop(key)def __delattr__(self, item):print('del obj.key時,delattr執行')self.__dict__.pop(item)f1 = Foo('sb')
一、__setitem__
- 中括號賦值時觸發
f1['age'] = 18
f1['age1'] = 19
setitem執行
setitem執行
二、__getitem__
- 中括號取值時觸發
f1['age']
getitem執行 18
f1['name'] = 'tank'
setitem執行
三、__delitem__與__delattr__
- __delitem__:中括號刪除時觸發
- __delattr__:.刪除時觸發
del f1.age1
del f1['age']
del obj.key時,delattr執行
del obj[key]時,delitem執行
print(f1.__dict__)
{'name': 'tank'}