Python __iter__() 和 __next__() - 将对象转换为迭代器2025年1月5日 | 阅读6分钟 我们经常需要访问一个对象,比如一个迭代器。创建生成器循环是一种方法,但它需要程序员花费更多的时间和精力。Python 通过包含一个名为 __iter__() 的内置函数使这项工作更加容易。在这篇文章中,我们将学习 Python 的 __iter__() 和 __next__()。 Python __iter__()Python 的 __iter__() 方法为提供的对象生成一个迭代器,该对象可以是数组、集合、元组或自定义对象。Python 中的 __next__() 构建了一个可以一次访问一个元素的 cont,这在处理循环时很有用。 语法
Exception Python 的 __iter__() 函数生成一个迭代器 cont,该 cont 遍历提供的对象的每个成员。在 Python 中,__next__() 提供对下一个元素的访问。迭代继续,直到找到值或到达可调用 cont 和 sentinel 值的情况下的元素末尾。无论如何,原始 cont 都不会发生任何改变。 在此示例中,我们正在通过使用 iter 和 next 函数遍历列表并打印下一行中的下一个成员。 程序说明 此 Python 代码演示了如何使用 next() 方法循环遍历列表的成员,以及如何使用 iter() 函数创建迭代器。以下描述了代码的每个部分
next(iter_listA): 要获取迭代器的后续元素,请调用 next() 方法。 为了按顺序恢复每个元音,这会执行多次。
此代码演示了如何检索迭代器中的条目,直到列表末尾触发 StopIteration 异常。此异常由 except 块处理,该块允许无错误的代码执行。 输出 a e i o u Python __next__()Python 函数 __next__() 返回迭代的下一个元素。如果没有更多项,则会引发 StopIteration 异常。它是可迭代和迭代器接口的特性。它允许我们设计独特的类迭代 cont,如生成器,并一次管理从这些可迭代 cont 中提取每个元素的过程。 在此示例中,我们使用 Python 的 __next__() 方法循环遍历列表并输出下一个条目。 程序说明 这段简短的 Python 代码说明了如何从列表中生成迭代器并使用 while 循环遍历其成员,以及如何使用 iter() 函数和 __next__() 方法。使用 iter_lst.__next__(),try 块尝试从迭代器中获取下一个元素;如果成功,它会输出该元素。当触发 StopIteration 异常时,unless 块退出循环,这会使循环保持运行。此示例演示了如何使用 iter() 方法和迭代器接口手动遍历列表的元素。 输出 111 222 333 444 555 在此示例中,我们使用 Python 中的 __next__() 来显示如果不存在下一个元素而产生的异常。 程序说明 提供的 Python 代码段以基本术语展示了如何在列表上使用迭代器方法和 iter() 函数。它使用 __iter__() 函数获取迭代器 (iter_listB) 并初始化一个名为 list 的字符串列表。然后通过反复调用 __next__() 函数从迭代器中检索后续元素。Try-except 块用于捕获 StopIteration 错误,当尝试访问的元素超过列表包含的元素时会发生这些错误。到达列表末尾后,程序会发布每个元素,直到处理完异常,并生成一条消息,宣布迭代结束,并附带一条关于 'StopIterationError' 的注释。 输出 Rat Hat Fat Bat Throwing 'StopIterationError,' I cannot count more. 用户定义的 cont (使用 OOPS)在此示例中,我们通过实现 __iter__() 和 __next__() 过程来演示使用 Python 中的 OOPS 利用 iter()。 程序说明 提供的 Python 代码创建了一个 Counter 类,该类为给定的数字范围实现了基本的迭代器。该类接受的两个参数是 start 和 end,它们代表范围的包含式开始和结束值。__iter__ 方法返回迭代器 cont(本身),而 __init__ 方法使用提供的这些值初始化计数器。当达到范围末尾时,__next__ 方法会引发 StopIteration 异常并生成范围内的下一个值。 驱动代码创建了 Counter 类的两个实例 c1 和 c2,它们具有相同的开始和结束值。代码的第一部分演示了如何使用 cont (c1) 上的 for 循环遍历范围。第二部分显示了另一种使用 while 循环手动遍历范围的技术,该技术利用了 iter() 和 next() 方法 (c2)。当达到范围时,软件会产生一条自定义消息,表明游戏因过度沉迷于披萨而结束。此外,它会产生通知,表明正在消耗多少披萨。 输出 Print the range without iter() Eating more Pizzas, counting 2 Eating more Pizzas, counting 3 Eating more Pizzas, counting 4 Eating more Pizzas, counting 5 Print the range using iter() Eating more Pizzas, counting 2 Eating more Pizzas, counting 3 Eating more Pizzas, counting 4 Eating more Pizzas, counting 5 Dead on overfood, GAME OVER 下一个主题Python 3 基础 |
Python 是一种高级解释型编程语言,易于理解。尽管简单,Python 提供了强大的工具和实用程序,用于创建高度可扩展和复杂的应用程序。它支持模块化编程,即逻辑可以独立定义,然后导入到其他程序部分...
阅读 4 分钟
在概率论和统计学中,累积分布函数(CDF)是一个关键概念。它是一个数学函数,提供了随机变量小于或等于特定值的概率。累积分布函数(CDF)适用于离散和……
阅读 4 分钟
卷积是一种重要的数学运算,它将两个函数混合以生成第三个函数,该函数表示它们之间的重叠量。它经常用于信号处理、图像处理和系统学习,尤其是在深度学习中。在信号处理的背景下,...
阅读 15 分钟
图像处理是改变数字图像以获取洞察力、增强视觉质量或实现自动化分析的过程。通过 Python,它现在成为处理、分析和从视觉数据中提取深刻见解的可行方法,Python 已发展成为一种现代工具。Python...
阅读 6 分钟
? 简介 值得注意的是,在微服务和现代 Web 等应用的时代,您的服务必须保持正常运行。实现这一点的一种方法是实施健康检查。通过健康检查,可以检查...的状态...
5 分钟阅读
?让我们开始学习如何创建一个可执行的 Python 文件!我们将在本文中介绍几点:简介创建可执行文件的步骤 PyInstaller 模块的实现结论简介 Python 非常棒!它是...
阅读 6 分钟
? 数据可视化是数据分析的关键组成部分。它涉及到交互式且视觉吸引力的图表和图形的出现,这些图表和图形以简单易懂的格式呈现复杂的数据。Matplotlib 是一个流行的 Python 库,提供了大量的工具来生成精美的可视化,这些可视化...
阅读 4 分钟
简介 试位法,通常称为 Regula Falsi 法,是一种用于求解非线性方程的数值方法。但当根位于特定区间时,该方法特别有效。在这里,我们将深入探讨 False 的基础...
5 分钟阅读
聚类概述聚类是最有益的非监督机器学习技术之一。通过使用这些技术,可以发现具有相似性和关联模式的数据样本,然后根据共享特征将样本聚类成组。因为它建立了当前……
7 分钟阅读
矩阵运算本身是大多数科学和工程计算的基础。在 Python 中进行矩阵操作,PYTHON 的内部库中有一个名为 NumPy 的丰富包。然而,在执行线性代数运算时,可能会出现某些错误,这些错误并非由编程错误引起,而是因为...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India