# -*- coding: utf-8 -*-class Library(object):def __init__(self):                                                     self.books = { 'title' : 'a', 'title2' : 'b', 'title3' : 'c', }def __getitem__(self, i):return self.books[i]def __iter__(self):# 方法1 使用生成器for titles in self.books:yield self.books[titles]# 方法2 使用迭代器
#        return self.books.itervalues()library = Library()# 1.普通方法
print library.books['title']# 2.使用__getitem__
print library['title']# 3.迭代器
for book in library:print book

python :使用 __getitem__ 和 __iter__ 可以使类成为一个迭代器相关推荐

  1. Python的面向对象,魔术方法、类的三大特征、自省、实例空间、经典类与新式类

    目录 1.什么是面向对象 1.1 面向过程 1.2 面向对象 1.3 面向对象的优点 2.类 2.1 什么是类.对象,方法和属性 2.2 类的定义和使用 2.2.1 类名规范和类的写法 2.3 魔术方 ...

  2. python计算复数的辐角_Python 自定义类中的函数和运算符重载

    如果你曾在字符串(str)对象上进行过 + 或 * 运算,你一定注意到它跟整数或浮点数对象的行为差异: >>> # 加法 >>> 1 + 2 3 >>& ...

  3. python tutorial是什么意思_方法类Python Tutorial(九):类 方法类

    题记:写这篇博客要主是加深自己对方法类的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 与其它编程语言比相,Python的类机制加添了最小的新法语和语义.它是C++和Modula- ...

  4. Python标准库——collections模块的Counter类

    更多16 最近在看一本名叫<Python Algorithm: Mastering Basic Algorithms in the Python Language>的书,刚好看到提到这个C ...

  5. Python标准库collections模块的Counter类

    collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类:排 ...

  6. Python 中的特殊方法(定制类):__str__、__cmp__、__len__、数学运算、类型转换、@property运用、__slots__和__call__函数

    Python中的特殊方法 Python的特殊方法定义在 class中,不需要直接进行显示调用,Python的某些操作符或者函数会自动调用对应的特殊方法.这些方法如:__str__().__len__( ...

  7. python学习笔记:第19天 类的约束、异常、MD5和logging

    目录 一.类的约束 二.异常处理: 三.MD5加密 四.日志(logging模块) 一.类的约束 真正写写项目的代码时都是多人协作的,所以有些地方需要约束程序的结构.也就是说,在分配任务之前就应该把功 ...

  8. 初学者python笔记(封装、反射、类内置attr属性、包装与授权)

    文章目录 封装 反射 动态导入模块 类内置attr属性 包装与授权 本篇文章仍然是面向对象的相关内容,主要分析了封装.反射.动态导入模块.类内置attr属性.包装与授权三大面向对象编程的后续处理方法 ...

  9. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

最新文章

  1. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #20 使用fio进行I/O的基准测试...
  2. [leetcode] 230.二叉搜索树中的最小树
  3. volta架构 微型计算机,性能大爆炸 NVIDIA新GPU架构曝光
  4. JAVA面试题(126~170)《下》
  5. 男孩子什么品质最吸引女生?
  6. C/C++语言里的near和far是什么意思?
  7. django restframwork 教程之authentication权限
  8. SQL结构化查询语言基础知识 转
  9. C/C++ const
  10. Oozie分布式任务的工作流——Sqoop篇
  11. WordPress搬家插件迁移网站的方法(从一台服务器搬到另一台服务器)
  12. Lotus notes 通讯录的导入导出
  13. 装修报价不担心被骗 避免家装陷阱报价揭密
  14. 单模光纤和多模光纤区别
  15. 模型调参(二):learning rate decay(学习率衰减)【使用库调整学习率:等间隔、多间隔、指数衰减、余弦退火函数、根据指标、自定义】【手动调整学习率】
  16. 2021蓝桥杯预选赛题解
  17. 怎么样开启红米手机3S 3X的root超级权限
  18. 硅谷裁员潮下的华人码农
  19. 手机充电原理分析及问题总结
  20. Linux基本命令及Linux文件类型

热门文章

  1. windows使用WSL安装linux子系统
  2. Pytorch解决LSTM前向传播时报错:RuntimeError: input must have 3 dimensions, got 2
  3. 解决Django文件表单验证forms.FileField(required=True),总是无法通过验证:这个字段是必填项
  4. 进入hbase shell速度很慢_HBase——大数据平台之分布式NoSQL数据库教程
  5. python绘图库seaborn_python绘图库——Matplotlib及Seaborn使用(入门篇2)
  6. php网页如何做出透明的效果,css+filter实现简单的图片透明效果
  7. kubernetes 磁盘、PV、PVC
  8. window7安装MongoDB详细步骤
  9. git完全cli指南之详细思维导图整理分享
  10. nginx 配置后网站图片加载出来一半或者不出来