__setitem__   __getitem__  __delitem__这三个函数

是通过字典形式来处理属性

字典形式使用中括号的方式获取值

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
print(f1.__dict__)
>>
{'name': 'sb', 'age': 18} f1['name']='alex' #设置对象的name
print(f1.__dict__)
>>
{'name': 'alex'} del f1.name
print(f1.__dict__)
>>
del obj.key时,我执行
{}

  

最新文章

  1. UDP编程中client和server中使用recvfrom和sendto的区别
  2. php处理数据库数据,每处理一个数据返回客户端显示当前状态的方法。
  3. 使用py2exe打包你的py程序
  4. myeclipse 10的破解以及运行run.bat错误或者双击立即消失的问题
  5. POJ 3104
  6. MySQL入门笔记
  7. Canny边缘检测-Wiki
  8. 转:基于node的web开发框架Express入门
  9. poj1185(状压dp)
  10. C++该函数隐藏
  11. 为什么覆写equals()方法的时候总是要覆写hashcode()?
  12. 微信小程序商业级实战
  13. 小程序canvas生成海报保存至手机相册
  14. 微信小程序--修改data数组或对象里面的值
  15. 深入理解webpack
  16. JS中保留小数位数
  17. UVA-10384 The Wall Pushers (IDA*)
  18. 20145322《Java程序设计》第3次实验报告
  19. 反省在北京某S2B2C电商小型公司面试时掉链子的问题
  20. Python一篇学会多进程

热门文章

  1. 【loj6142】「2017 山东三轮集训 Day6」A 结论题+Lucas定理
  2. wb 黑名单批量操作
  3. python全栈开发day85-查:数据表 数据头 增加列 展示多对多字段 反向解析编辑和删除按钮的url
  4. Python学习(二十二)—— 前端基础之BOM和DOM
  5. Python题目练习(一)
  6. URL简介
  7. html 水平竖直居中
  8. boost 正则表达式 regex
  9. 色彩空间-- RGB\HSV
  10. 001.CDN概述