快速提示:了解Python中的收益关键词
,请帮助同行评论这篇文章。 >在python中调用功能时,该功能通常会开始工作,直到遇到返回,异常或达到其末端,然后将其返回控制回呼叫者。每当您再次调用该函数时,该过程将从
> cratch!开始 说您要求一个人在路上追踪红色汽车。该人会不断提出一个问题,问他们是否发现了一辆红色的汽车,该人又以“是”或“否”回答。如果该人回答“是”,则发现红色汽车的次数将增加。
>让我们看看如何在Python中做到这一点:
如果您运行程序,您会注意到什么?您是否注意到“是”答案的次数总是被限制为1,当您回答“否”时,次数会得到0,而不论以前回答“是”?
>import time def red_cars(answer): n = 0 while True: if answer == 'yes': n = n + 1 return n else: return n stop = time.time() + 5 * 60 while time.time() < stop: answer = raw_input('Did you spot a red car on the road? ("yes" or "no"): ') times = red_cars(answer) print 'You have spotted ' + str(times) + ' cars so far!'
说我们有以下简单的python脚本:
如果运行脚本,您将获得以下输出:>
现在,如果我们使用收益率,如下:
>输出将如下:
def step_by_step(): return 'step 1' return 'step 2' return 'step 3' step = step_by_step() for i in range (3): print step
如您所见,我们能够创建值的值
序列step 1 step 1 step 1
如果我们回到主要示例(红色汽车),则可以按以下方式写入所需任务:
def step_by_step(): yield 'step 1' yield 'step 2' yield 'step 3' step = step_by_step() for i in range (3): print step.next()
>
但是,有其他产量的用途。例如,如果您具有返回序列的函数(例如,在Excel表中的行),则可以使用收益率,并且您需要在序列上迭代序列,而不会一次内存中每个值。也就是说,保存内存。step 1 step 2 step 3
>收益率,在该功能之间我们有一个很难传递的大列表。例如,Python的内置功能可用于iTertools模块中的排列和组合使用。
> python中的收益关键字的常见问题(常见问题解答)python中的收益率和返回关键字之间有什么区别?当您希望函数产生值然后终止时,将使用返回关键字。函数返回值后,执行并将控件传递回呼叫者。另一方面,收益率关键字在函数中使用,例如返回语句,但会产生一个值并暂停该函数的执行。该函数可以在稍后从关闭的位置恢复,允许其随着时间的推移产生一系列值,而不是一次计算它们并像列表一样将它们发送回去。>如何产生关键字。在python?中工作,python中的产量关键字用于具有循环创建迭代器的函数。当调用函数时,它将返回迭代器,但不会立即开始执行。当调用迭代器的Next()方法时,函数开始执行。一旦遇到收益率关键字,它就会返回传递的参数以屈服并停止执行。可以通过再次调用Next()从关闭的位置恢复该函数,从而允许该函数随着时间的推移产生一系列值,表现为发电机。
您是否可以提供使用farter keyword的示例在python?
中,可以肯定的是,这是一个简单的示例:在python中使用收益率关键字:
def simple_generator(): y> yarts 1
yourts 2 产量3 sipser_generator()中的值: print(value) 中的收益率和返回语句,是的,python中的功能可以包含产量和返回语句。但是,重要的是要注意,一旦执行返回语句,函数的执行终止,并且控件将转移回呼叫者。因此,如果在收益率声明之前执行返回声明,将永远无法达到收益表。相反,如果首先执行收益表语句,则该函数将被暂停,并且控制权将转回呼叫者,但是稍后可以恢复该函数,此时可以执行返回语句。我可以在Python中使用递归功能中的收益关键字吗?但是,您需要记住在递归调用上迭代并产生每个值,否则您将获得一个发电机对象而不是期望的值。 中,生成器函数与Python中的正常函数之间的主要区别在于,生成器函数使用收益率关键字,而正常函数则使用返回关键字。当调用发电机函数时,它将返回生成器对象,甚至不启动函数执行。当第一次调用Next()方法时,该函数开始执行,直到达到产量关键字(产生值)。然后,该功能暂停执行和控制将传递回呼叫者。另一方面,当调用正常函数时,它立即开始执行并运行到完成,返回一个值。 >如何捕获生成器函数在python? def simple_generator(): 产量3
在此示例中,simple_generator是一个生成器函数,因为它使用了收益率关键字,因此
print(value)。当我们迭代由simple_generator()返回的发电机对象时,它产生了1,然后是2,然后是3,暂停了其在每个收益率之间的执行。
在python中使用收益率关键字有什么好处? >
python中的收益关键字允许您编写可以随时间产生结果的序列,而不是一次计算它们并将其返回列表中。当结果集很大并且要保存内存时,这可能特别有用。它还允许您创建自己的迭代对象,并将它们与python的对象一起使用,以进行循环,综合和其他期望具有疑问的功能。
>>一个函数可以包含python?
>生成器函数与正常函数之间有什么区别在Python?
我可以在python中的单个函数中使用多个收益率语句吗?是的,您可以在Python中的单个功能中使用多个收益语句。调用函数时,每次遇到收益率语句,暂停其执行并将控件传递回呼叫者时,它将产生一个值。下次调用函数的下一个()方法时,它将恢复执行从关闭的位置并运行直到遇到下一个收益率语句的执行。
> python中的发电机函数没有更多的屈服值时,它会引起停止异常。您可以使用try/def block捕获此异常。以下是一个示例:
屈服1
屈服2
gen = simple_generator()
尝试:
print(next(gen))> stopiteration:
在此示例中,我们捕获了停止的异常,并在没有的情况下脱离循环
的更多值>我可以在python中使用lambda函数中的收益关键字吗?这是因为lambda函数仅限于单个表达式,而产量关键字引入了语句上下文。如果您需要创建生成器函数,则需要使用DEF语句来定义正常函数。
以上是快速提示:了解Python中的收益关键词的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

此基于GO的网络漏洞扫描仪有效地确定了潜在的安全弱点。 它利用了GO的并发功能的速度功能,包括服务检测和漏洞匹配。让我们探索它的能力和道德

该试点程序是CNCF(云本机计算基础),安培计算,Equinix金属和驱动的合作,简化了CNCF GitHub项目的ARM64 CI/CD。 该计划解决了安全问题和绩效

该教程通过使用AWS服务来指导您通过构建无服务器图像处理管道。 我们将创建一个部署在ECS Fargate群集上的next.js前端,与API网关,Lambda函数,S3桶和DynamoDB进行交互。 Th

与这些顶级开发人员新闻通讯有关最新技术趋势的了解! 这个精选的清单为每个人提供了一些东西,从AI爱好者到经验丰富的后端和前端开发人员。 选择您的收藏夹并节省时间搜索REL
