iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的yield关键词怎么用
  • 279
分享到

Python中的yield关键词怎么用

2023-06-22 01:06:04 279人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python中的yield关键词怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。要理解yield的作用,你必须理解生成器是什么。在理解生成器之前,必须先理解迭代器。迭代器当

这篇文章将为大家详细讲解有关python中的yield关键词怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

要理解yield的作用,你必须理解生成器是什么。在理解生成器之前,必须先理解迭代器。

迭代器

当您创建一个列表时,你可以逐个读取它的项。逐项读取其项称为迭代:

640.WEBp

mylist是一个可迭代的对象。当你使用列表解析式时,你创建了一个列表,因此也是一个迭代器:

640.webp

所有你可以用"for... in ...."都是迭代器,包括列表、字符串、文件…等等。

这些迭代器非常方便,因为你可以随心所欲地读取它们,但是你将所有的值都存储在内存中,当你有很多值时,这就非常浪费内存了。

为了解决这样的问题,Python有了生成器的概念。

生成器

生成器是迭代器,这种迭代器只能迭代一次。生成器不会将所有值都存储在内存中,它们会动态生成这些值:

640.webp

它和列表解析式是类似的,只是用()代替了[]。但是,你不能在mygenerator中对i执行第二次,因为生成器只能使用一次:它print(0),然后忘记它,print(1),最后是4。

Yield

yield是一个与return类似的关键字,只是函数将返回一个生成器。

认真看完下面这个例子,你应该能完全明白。

640.webp

函数将返回一组只需要读取一次的值。如果你能将这个特性理解清楚,并将其应用到你的代码中,可能可以极大地提高性能,下次我们将介绍在什么时候该用它。

请注意示例中的第6行,在调用函数时,在函数体中编写的代码不会运行。函数只返回生成器对象,可别忘了这个重点。

最后,你的代码将从每次使用生成器时停止的地方继续。因此示例中第二次使用生成器的时候,我们的生成器已经完全没有值了。

所以最核心的逻辑如下:

for函数第一次调用从函数创建的生成器对象时,它将从头运行函数中的代码,直到达到yield,返回循环的第一个值。
随后的调用都将再次运行你在函数中编写的循环,并yield返回下一个值,直到没有要返回的值为止,就如我们上面的例子所示

关于“Python中的yield关键词怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Python中的yield关键词怎么用

本文链接: https://www.lsjlt.com/news/301819.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中的yield关键词怎么用
    这篇文章将为大家详细讲解有关Python中的yield关键词怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。要理解yield的作用,你必须理解生成器是什么。在理解生成器之前,必须先理解迭代器。迭代器当...
    99+
    2023-06-22
  • 浅析Python中yield关键词的作用与用法
    前言 为了理解yield是什么,首先要明白生成器(generator)是什么,在讲生成器之前先说说迭代器(iterator),当创建一个列表(list)时,你可以逐个的读取每一项,这就叫做迭代(iterat...
    99+
    2022-06-04
    关键词 作用 Python
  • python生成器和yield关键字怎么用
    这篇文章主要介绍了python生成器和yield关键字怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。下列代码用于先体验普通列表推导式和生成器的差别:# def...
    99+
    2023-06-26
  • JavaScript this关键词怎么用
    这篇“JavaScript this关键词怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2022-10-19
  • PHPABSTRACT关键词怎么使用
    PHPABSTRACT关键词用于定义一个抽象类或方法。在定义一个抽象类时,需要在类名前加上abstract关键词。在定义一个抽象方法...
    99+
    2023-06-13
    PHPABSTRACT PHP
  • mysql中关键词exists怎么使用
    这篇文章主要讲解了“mysql中关键词exists怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中关键词exists怎么使用”吧!语法解释语法SELECT colu...
    99+
    2023-07-02
  • Python中怎么使用Jieba进行词频统计与关键词提取
    这篇文章主要介绍“Python中怎么使用Jieba进行词频统计与关键词提取”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么使用Jieba进行词频统计与关键词提取”文章能帮助大家解决问...
    99+
    2023-07-05
  • JavaScript的let和const关键词怎么用
    本篇内容主要讲解“JavaScript的let和const关键词怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript的let和const关键...
    99+
    2022-10-19
  • C#中关键字get、set、value、partial、where和yield怎么用
    这篇文章主要介绍C#中关键字get、set、value、partial、where和yield怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!C#关键字——get、set、valueget 在属性或索引...
    99+
    2023-06-17
  • 使用Python怎么爬取微博热搜关键词
    今天就跟大家聊聊有关使用Python怎么爬取微博热搜关键词,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-14
  • seo优化中怎么选取关键词
    小编给大家分享一下seo优化中怎么选取关键词,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!seo真正的价值SEO的真正价值是给我们带来定向客户(潜在客户)客户如何...
    99+
    2023-06-10
  • 用Python爬取指定关键词的微博
    目录一、分析页面二、数据采集1、发起请求2、提取数据三、小结前几天学校一个老师在做微博的舆情分析找我帮她搞一个用关键字爬取微博的爬虫,再加上最近很多读者问志斌微博爬虫的问题,今天志斌...
    99+
    2022-11-12
  • Python中Yield语法怎么用
    这篇文章主要介绍了Python中Yield语法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python中Yield语法比如在这里,我们定义了一个fibonacci()...
    99+
    2023-06-27
  • Verilog关键词的条件语句怎么使用
    这篇文章主要介绍了Verilog关键词的条件语句怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Verilog关键词的条件语句怎么使用文章都会有所收获,下面我们一起来看看吧。关键词:if,选择器条件语句条...
    99+
    2023-07-06
  • 网站建设中怎么设置关键词
    小编给大家分享一下网站建设中怎么设置关键词,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  对于网站建设中如何设置关键词,这是很多站长在网站建设中最需要考虑的问题...
    99+
    2023-06-10
  • PHP中parent关键词指的是什么
    这篇“PHP中parent关键词指的是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP中parent关键词指的是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接...
    99+
    2023-06-06
  • 怎么获取合适的网站关键词
    这期内容当中小编将会给大家带来有关怎么获取合适的网站关键词,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、公开渠道1)几家搜索引擎搜索结果相关搜索2)几家大的社交、媒体(微博)的相关搜索3)各搜索引擎的...
    99+
    2023-06-10
  • vue网站的关键词有什么用
    小编给大家分享一下vue网站的关键词有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   一、关键词必须对用户具有价值。...
    99+
    2022-10-19
  • Python中nonlocal关键字与global关键字怎么用
    小编给大家分享一下Python中nonlocal关键字与global关键字怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python引用变量的顺序: 当前作...
    99+
    2023-06-29
  • seo怎么确定网站的目标关键词
    小编给大家分享一下seo怎么确定网站的目标关键词,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!各大搜索引擎关于关键词量查询都非常类似:a、国内我们主要的对象是百度...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作