您的位置:首页 > 编程语言 > Python开发

python 3-2 如何实现可迭代对象和迭代器对象(2) BookIterable/BookIterator

2017-01-15 20:44 821 查看
3-2 如何实现可迭代对象和迭代器对象(2) BookIterable/BookIterator

实现BookIterable/BookIterator

BookIterable 实现iter 返回BookIterator 迭代器对象

BookIterator 通过next函数每个元素的具体的内容(书的历史最低价和最高价)

from collections import Iterable
from collections import Iterator
from random import randint

class BookIterator(Iterator):
def __init__(self,books):
self.books = books
self.index = 0

def getBookPrice(self,book):
return book,randint(1,50),randint(60,100)

def next(self):
if self.index == len(self.books):
raise StopIteration
book = self.books[self.index]
self.index += 1
return self.getBookPrice(book)

class BookIterable(Iterable):
def __init__(self,books):
self.books = books

def __iter__(self):
return BookIterator(self.books)

if __name__ == '__main__':
for book in sorted(BookIterable(['chinse','math','english'])):
print book


获取天气情况

def getWeather(self,city):
r=requests.get(u'http://wthrcdn.etouch.cn/weather_mini?city='+city)
print r.text
data=r.json()['data']['forecast'][0]
return '%s: %s,%s'%(city,data['low'],data['high'])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: