yield语句用于在Python中定义生成器。所以,在我们深入研究收益率到底是做什么的之前,我们必须先了解生成器的概念。生成器在Python中扮演着重要的角色,如果您深入研究Python编程,那么很可能您已经使用过Python生成器。生成器用于在Python中创建迭代器,但方法不同。
Python生成器是生成一系列结果的函数,可以动态暂停和恢复。生成器首先在Python2.2中作为可选特性添加,并在Python2.3中成为标准。尽管它们足够强大,但在Python2.5中生成器功能得到了显著增强。
当在Python2.2中添加生成器时,它引入了一个新的关键字“yield”以实现向后兼容性,为此我们需要从\u future\u模块导入生成器以使用它们。在pythonversion2.3中,当生成器成为标准时,这一点发生了变化,不再需要了。
yield语句暂停函数的执行并向调用者发送一个值,同时保存状态并稍后恢复,这意味着在获得返回值之后,整个生成器本身仍然可以恢复。return语句结束函数的执行并将值发送回调用者。没有它,函数将不返回任何内容。让我们仔细研究一下在Python中何时使用yield和何时使用return,以便更好地理解两者之间的区别。
yield语句在Python生成器中用于替换函数的返回,以便在不破坏局部变量的情况下将值发送回调用方。为了更好地理解yield语句在Python编程中扮演的角色,您必须了解生成器是什么。
生成器函数是按定义生成的,就像常规函数一样,但包含一个“yield”语句。这以关键字“yield”开始,它指定要返回给调用者的生成器对象。生成器是Python中的一个特殊函数,它将生成器对象而不是数据值返回给调用者。yield关键字具有停止函数执行、保存状态和稍后恢复的独特功能。
return语句与yield语句不同,它从函数中退出,并将值返回给调用方。函数将值返回给它们的调用者,而那些在本质上更具过程性的函数根本不显式返回任何东西。虽然一个函数可以有多个return语句,但对于函数的任何给定调用,只能调用其中一个语句。
通常,return语句出现在函数块的最末端,以返回执行该函数中包含的所有语句的最终结果。但是,它也可能出现在函数块的前面,以停止该块中所有后续语句的执行。这会立即在调用者处恢复程序的执行。如果未指定值,则Python中的等效返回对象类型为“None”。
从语法上讲,yield是一个关键字,它可以像return关键字一样使用,只是return语句终止函数的执行并将值发送回调用方。return语句的功能是获取输入并向调用者返回一些东西。与return不同,yield语句显式用于定义生成器,替换函数的返回值以暂停其执行,保持局部变量不变,而return语句则销毁函数中的所有局部变量。
...应用程序。它在初学者和开发人员中都很流行。 什么是蟒蛇与python编程的关系(the relati***hip between anaconda and python programming)? 蟒蛇是用蟒蛇写的。 水蟒(anaconda)和python编程(python programming)的区别 Anaconda是Python和R编程语言的分布...
...高级编程语言。它是一个面向对象和面向过程的多范式。蟒蛇是圭多·范罗森发现的。它是一种易于学习的编程语言,可用于各种应用程序。Python有两个主要版本,分别是python2和python3。本文将讨论这两个版本之间的差异。Python2...
使用Python可以通过多种方式操纵字符串。Python提供了各种函数、操作符和方法,可以用来操作字符串。您可以分割一个字符串,连接两个或多个字符串,在字符串中**变量,等等。 ...
Python中的lambda是最有用、最重要、最有趣的特性之一。不幸的是,他们也很容易误解和出错。 ...
...多种。确切的语法将取决于您正在使用的语言。我们将在Python、JavaScript和C++中演示示例,以演示一系列编程语法。 ...
蟒蛇vs蟒蛇 蟒蛇和水蟒无疑是世界上最伟大的蛇。有些人认为蟒蛇和蟒蛇是一回事。然而,水蟒和蟒蛇属于两个不同的蛇科。 蟒蛇属于博阿家族,在南美和亚马逊河流域都有发现。蟒蛇属于蟒蛇科。它在南亚、东南亚和撒哈拉...