python :使用 __getitem__ 和 __iter__ 可以使类成为一个迭代器
2015-04-17 20:10
627 查看
# -*- 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 3-1 如何实现可迭代对象iterable和迭代器对象iterator,__iter__,__getitem__
- Python3基础 生成一个可以使用for循环可迭代的类,具有__iter__和__next__的方法的类
- python中__getitem__, __setitem__, __delitem__的使用
- 使用 pyenv 可以在一个系统中安装多个python版本
- 使用python Tkinter制作一个可以生成重复文本片段的小工具
- python高效编程技巧7(pickle的使用:可以将一个对象存储在一个文件中,或者load进来)
- Python基础-定制类(str_iter_getItem_getattr_call)
- 使用Python的BeautifulSoup库实现一个可以爬取1000条百度百科数据的爬虫
- 使用 pyenv 可以在一个系统中安装多个python版本
- Python __getitem__和自定义的迭代器
- python中__getitem__, __setitem__, __delitem__的使用
- python入门笔记(Day7)--slots,@property,MixIn,定制(str,iter,getitem,getattr,call)枚举(Enum)元type,metaclass,ORM
- 迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现了__iter__方法的对象是可迭代的,实现了next()方法的对象是迭代器,这样说起来有
- Python 使用__getitem__ __setitem__ __delitem__ 创建自己的映射类型
- Python中__getitem__()和__setitem__()的使用实例
- 接口测试入门(2)--get和post初级请求/使用httpclient做一个获取信息list的请求(需要登录才可以)
- 如何使用Python为Hadoop编写一个简单的MapReduce程序(这个人T字还有好几篇精华的可以看)
- 如何成为一个linux可以使用的驱动
- python大文件迭代器的流式读取,之前一直使用readlines()对于大文件可以迅速充满内存,之前用法太野蛮暴力,要使用xreadlines或是直接是f,
- python itertools和迭代器的使用