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

python技巧(7)

2017-01-30 17:13 302 查看
用时访问:需要的时候提取

1.可迭代对象/迭代器对象

可迭代对象如字符串,列表,字典

有:iter,getitem接口

迭代器对象:通过iter(‘可迭代对象’)得到迭代器对象



t=iter(‘abcd’)

t.next()

….

2.天气用时访问

import requests
city=u'上海':必须是unicode字符串
def getWeather(city):
r=requests.get(u'url'+city)
data=r.json()['data']['forecast'][0]
return '%s:%s,%s'%(city,data['low'],data['high'])

city=u'上海':必须是unicode字符串
print getWeather(u'上海')


下面实现一个天气的迭代器对象和可迭代对象,可以使用collections下的Iterator和Iterable

import requests
from collections import Iterator,Iterable
迭代器对象(只有next方法)
class WeatherIterator(Iterator):
def __init__(self,cities):
self.cities=cities
self.index=0
def __getWeather__(self,city):
r=requests.get(u'url'+city)
data=r.json()['data']['forecast'][0]
return '%s:%s,%s'%(city,data['low'],data['high'])
def next(self)
if self.index==len(cities):
raise StopIteration
city=self.cities[self.index]
self.index+=1
return getWeather(city)
可迭代对象
class WeatherIterable(Iterable):
def __init__(self,cities):
self.cities=cities
def __iter__(self):
return WeatherIterator(self.cities)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: