90.容器类型
1.__len__(self):定义当被len()调用时的行为(返回容器中元素的个数)
2.__getitem__(self,key):定义获取容器中指定元素时的行为,相当于self[key]
3.__delitem__(self,key):定义删除容器中指定元素的行为,相当于del self [key]
4.__setitem__(self,key,value):定义设置容器中指定元素的行为,相当于self[key]=value
5.__iter__(self):定义迭代器中的元素行为
6.__reversed__(self):定义当被reversed()调用时的行为
7.__contains__(self,item):定义当被使用成员测试运算符(in 或者 not in)时的行为
结论:1.如果需要制定的容器是不可变的,只需要定义__len__()__getitem__()方法;
2.如果需要制定的容器是可变的,除了需要定义__len__()__getitem__()方法,还需要定义__setitem__()__delitem__()

class Countlist:def __init__(self,*args):self.value=[x for x in args]self.count={}.fromkeys(range(len(self.value)),0)def __len__(self):return len(self.value)def __getitem__(self,key):return self.value[key]
输出:
>>> a=Countlist(1,2,3,4,5,6)
>>> b=Countlist(7,8,9,10,11,12)
>>> a[1]
2
>>> a[2]
3
>>> b[3]
10
>>> a[2]+b[2]
12
>>> a.count
{0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0}
>>> b.count
{0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0}------------------------------------------------------------------------------------------

关于学习Python的一点学习总结(51)相关推荐

  1. 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)

    关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...

  2. 关于学习Python的一点学习总结(54->集合->堆->双端队列)

    集合,堆,双端队列 再谈集合set:集合是由内置类set实现的 >>> set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 可使用序列(或其他可 ...

  3. 关于学习Python的一点学习总结(58->匹配对象和编组)

    匹配对象和编组 1.模块re中,查找与模式匹配的子串的函数都在找到时返回MatchObject对象.这种对象包 含与模式匹配的子串的信息,还包含模式的哪部分与子串的哪部分匹配的信息.这些子串部分称 为 ...

  4. 关于学习Python的一点学习总结(52->模块就是程序)

    91.模块就是程序 # hello.py print("Hello, world!") 将其保存在文件hello.py中,这个文件的名称(不包括扩展名.py)将成为模块的名称.这个 ...

  5. 关于学习Python的一点学习总结(47->静态方法和类方法)

    86.静态方法和类方法:静态方法和类方法是这样创建的:将它们分别包装在staticmethod和classmethod类的对象中.静态方法的定义中没有参数self,可直接通过类来调用.类方法的定义中包 ...

  6. 关于学习Python的一点学习总结(41->相关的BIF操作)

    81.一些相关的BIF 1.>>> class BIF:def __init__(self,t):self.t=thasattr(object,name):判断name是否在obje ...

  7. 关于学习Python的一点学习总结(38)

    78.文件: 1.文件的类型:包括ASCII,MIME,.txt等格式. 2.文件的格式类型:(1).MPEG视频:mp4;(2).图片格式:.jpg:(3)powerpoint文档:.ppt; (4 ...

  8. 关于学习Python的一点学习总结(35->关联超类)

    76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry = True def eat(self): if se ...

  9. 关于学习Python的一点学习总结(30->递归实例)

    68.递归 先来两个例子: 1.阶乘 def Fact(num):result=numfor i in range(1,num):result*=ireturn result>>> ...

最新文章

  1. dataframe,python,numpy 问题索引1
  2. 官宣!VS Code Python 全新功能在 PyCon China 全球首发!
  3. shell 不等于_关于shell编程中的整数值比较的两种方式的简单操作实例
  4. C#判断文件及文件夹是否存在并创建
  5. java应用重启导致数据丢失_java – 在重新启动应用程序后从SharedPreferences恢复时设置丢失数据...
  6. python md5加密_Python MD5加密实例详解
  7. Python-又到了抢票的季节(带验证码识别验证)
  8. 多任务的同步与相互排斥
  9. 元素之和最接近 0 的区间(部分和)
  10. poj 1001 Exponentiation java解决!!!
  11. 做了 7 年开源数据库开发,我学到了什么?
  12. 【优化算法】多目标人工蜂群算法(MOABC)【含Matlab源码 1236期】
  13. linux设置汉语输入法,在Deepin系统下使用韩语(韩文)输入法的方法
  14. Android 最常用的设计模式六 安卓源码分析—责任链模式
  15. python 折线图 excel_如何使用python读取excel数据并绘制折线图
  16. 配置switchOmegaProxy插件
  17. Android 锁屏后Socket长连接踩坑总结
  18. 油耳戴什么款式耳机好?骨传导耳机最合适
  19. 【渝粤教育】国家开放大学2019年春季 2444酒店管理概论 参考试题
  20. DMM6500+Keithley6517B/6514纳米发电机测试软件

热门文章

  1. CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3是什么呢?
  2. 从零开始学习Deep SORT+YOLO V3进行多目标跟踪(附代码)
  3. 使用 OpenCV 和 Tesseract 对图像中的感兴趣区域 (ROI) 进行 OCR
  4. 基础知识——用户输入和函数(五)
  5. Eclipse Jetty 9.4.15 发布,建议使用 JDK 12
  6. (原創) 如何將編譯結果,統一放在一個目錄下? (SOC) (Quartus II)
  7. 混合云环境中扩展Kubernetes的挑战及方案
  8. 【原】IOS文件操作
  9. 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容...
  10. CentOS 6/7 忘记root密码,重新设置的方法