2019年8月20日 item系列

通过 操作字典的方式触发,用item

通过 点 点方式出发,用attr


class Foo:
    def __getitem__(self, item):#查询,注意item是用于字典的操作
        print('getitem',item)
        print("**getitem中的item就是字典中的key**",self.__dict__[item])
        return self.__dict__[item]

    def __setitem__(self, key, value):#赋值
        self.__dict__[key]=value #系统底层的方式
        print('setitem')

    def __delitem__(self, key):
        print('delitem')
        self.__dict__.pop(key)#系统底层的方式

f1=Foo()
print(f1.__dict__)
f1['name']='sxj'#伪装成字典的方式来赋值
f1['age']=18
del f1['name']
print(f1['age'])
print(f1.__dict__)

 

 

>>>>

{

{}
setitem
setitem
delitem
getitem age
**getitem中的item就是字典中的key** 18
18
{'age': 18}

posted @ 2019-08-20 20:52  小圣庄  阅读(108)  评论(0编辑  收藏  举报