python基础----__setitem__,__getitem,__delitem__
2017-04-25 16:19
645 查看
class Foo: def __init__(self,name): self.name=name def __getitem__(self, item): print(self.__dict__[item]) def __setitem__(self, key, value): self.__dict__[key]=value def __delitem__(self, key): print('del obj[key]时,我执行') self.__dict__.pop(key) def __delattr__(self, item): print('del obj.key时,我执行') self.__dict__.pop(item) f1=Foo('sb') f1['age']=18 f1['age1']=19 del f1.age1 del f1['age'] f1['name']='alex' print(f1.__dict__)
#把对象操作属性模拟成字典的格式 class Foo: def __init__(self,name): self.name=name def __setattr__(self, key, value): print('setattr===>') def __getitem__(self, item): # print('getitem',item) return self.__dict__[item] def __setitem__(self, key, value): print('setitem-----<') self.__dict__[key]=value def __delitem__(self, key): self.__dict__.pop(key) # self.__dict__.pop(key) # def __delattr__(self, item): # print('del obj.key时,我执行') # self.__dict__.pop(item) f=Foo('egon') f.name='egonlin' f['name']='egonlinhai' # print(f.name) # f.name='egonlin' # f['age']=18 # print(f.__dict__) # # del f['age'] #del f.age # print(f.__dict__) # print(f['name'])
相关文章推荐
- Python的魔法函数之 - __len__,__getitem__,__setitem__,__delitem__
- python四个魔法方法__len__,__getitem__,__setitem__,__delitem__
- python中__getitem__, __setitem__, __delitem__的使用
- 8.python之面相对象part.7(__setitem__,__getitem,__delitem__)
- Python 使用__getitem__ __setitem__ __delitem__ 创建自己的映射类型
- python 魔法方法之:__getitem__ __setitem__ __delitem__ __len__
- 详解Python魔术方法__getitem__、__setitem__、__delitem__、__len__
- Python __setitem__()、__getitem__()、__delitem__() (十一)
- python 魔法方法之:__getitem__ __setitem__ __delitem__
- python中__getitem__, __setitem__, __delitem__的使用
- python 魔术方法:__getitem__、__setitem__、__delitem__、__len__
- Python基础-定制类(str_iter_getItem_getattr_call)
- 9.4、__del__、__doc__、__dict__、__module__、__getitem__、__setitem__、__delitem__、__str__、__repr__、__call__
- Python类的__getitem__和__setitem__特殊方法
- Python中的__getitem__和__setitem__特殊方法
- Python中__getitem__()和__setitem__()的使用实例
- Python类,特殊方法, __getitem__,__len__, __delitem__
- Python类的__getitem__和__setitem__特殊方法
- Python类,特殊方法, __getitem__,__len__, __delitem__
- 浅谈Python类的__getitem__和__setitem__特殊方法