初识python yield

for sel in response.xpath(‘//ul/li‘):    item = DmozItem()    item[‘title‘] = sel.xpath(‘a/text()‘).extract()    item[‘link‘] = sel.xpath(‘a/@href‘).extract()    item[‘desc‘] = sel.xpath(‘text()‘).extract()    yield item

等价于:

items []
for sel in response.xpath(‘//ul/li‘):    item = DmozItem()    item[‘title‘] = sel.xpath(‘a/text()‘).extract()    item[‘link‘] = sel.xpath(‘a/@href‘).extract()    item[‘desc‘] = sel.xpath(‘text()‘).extract()   items.append(item)    return items

就这么简单!
时间: 2024-10-07 11:19:08

初识python yield的相关文章

Python yield 使用浅析

Python yield 使用浅析 作者:廖 雪峰, 软件工程师, HP 2012 年 11 月 22 日 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能. 您可能听说过,带有 yield 的函数在 Python 中被称之为 gen

初识python之 APP store排行榜 蜘蛛抓取(一)

直接上干货!! 采用python 2.7.5-windows 打开 http://www.apple.com/cn/itunes/charts/free-apps/  如上图可以见采用的是utf-8 编码 经过一番思想斗争  编码如下 (拍砖别打脸) #coding=utf-8 import urllib2 import urllib import re import thread import time #----------- APP store 排行榜 ----------- class

python yield 进阶(一)

PS:硬说原创 我只能说自己太不要脸了 就当是个搬运工吧 希望对您有帮助 先来看看基础的---重头戏在后面: yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist(alist): for i in alist: yield i + 1 取出alist的每一项,然后把i + 1塞进去.然后通过调用取出每一项: alist = [1, 2, 3, 4] f

第00次作业:初识python语言 and 我对python的期待

初识python 首次被python吸引是在第一次理论课上,老师用几行代码实现"延时打开网页"的时候,感觉很厉害的样子,之后,便想去了解它,掌握它,应用它. 第一次运行python语言程序,真的是有点手忙脚乱,运行不成功,然后出现了一串串看不懂的错误提示,不知道从何开始着手去解决,后来问了同学,原来是缺少了一对括号.慢慢地开始学着自己去理解老师给的代码,改写里面的数字,查看数字改变后的结果,每一次小小收获都会使内心迸发一种小欣喜,促使着我更加深入的去学习这门语言. 我对python的期

初识python之 APP store排行榜 蜘蛛抓取(二)

#-*- coding: utf-8 -*- import urllib2 import urllib import re import time import MySQLdb import time,datetime #from datetime import date #----------- APP store 排行榜 ----------- class Spider_Model: def __init__(self): self.page = 1 self.pages = [] self

初识python面向对象

一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age=5 #self是实例本身,self.age是实例变量 print("I will eat %s" %food) xiaofan=Person() #实例化,生成对象xiaofanprint(xiaofan.age) #调用对象方法,因为还没有调用eat方法,则使用类方法的值xiaofan

python yield用法 (tornado, coroutine)

yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行.也就是说,yield返回函数,交给调用者一个返回值,然后再“瞬移”回去,让函数继续运行, 直到吓一跳yield语句再返回一个新的值. 使用yield返回后,调用者实际得到的是一个迭代器对象,迭代器的值就是返回值,而调用该迭代器的next()方法会导致该函数恢复yield语句的执行环境继续往下跑,直到遇到下一个y

和我一起学python,初识python (life is short ,we need python)

作者:tobecrazy  出处:http://www.cnblogs.com/tobecrazy 欢迎转载,转载请注明出处.thank you! 由于项目需要(并非因为life is short),开始学习python. 1.python 是什么 和perl一样,python是一种脚本语言.由于语法简洁而清晰,比较接近伪代码 ,易于维护,逐渐开始流行起来. 高级计算机语言,规避内存指针等复杂问题 解释性语言,实时显示运行 支持多平台,linux.windows等 2.python运行环境 由于

Python yield 使用浅析 ----以裴波那契数列生成为例

转载请注明出处,http://blog.csdn.net/suool/article/details/38388681谢谢! 之前转过一篇讲Python生成器的博文,不过觉得不是很清晰,前几天见到有讲yield的文章,感觉还不错,遂整理于此,与诸君共享.愿共同进步. 我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念. 如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序