当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Yield和Return的区别用法及代码示例


Python产量
它通常用于将常规 Python 函数转换为生成器。生成器是 Python 中的一个特殊函数,它将生成器对象返回给调用者。由于它存储局部变量状态,因此可以控制内存分配的开销。

例子:


# Python3 code to demonstrate yield keyword  
  
# Use of yield 
def printresult(String) :  
    for i in String:  
        if i == "e":  
            yield i  
  
# initializing string  
String = "GeeksforGeeks" 
ans = 0
print ("The number of 'e' in word is : ", end = "" )  
String = String.strip()  
  
for j in printresult(String):  
    ans = ans + 1
  
print (ans)  

输出:

The number of 'e' in word is : 4

Python返回
它通常用于执行结束以及“returns”将结果发送给调用者语句。它可以返回所有类型的值,当语句“return”没有表达式时,它返回None。

例子:


# A Python program to show return statement  
class Test:   
    def __init__(self):   
        self.str = "GeeksForGeeks"
        self.x = "Shubham Singh"   
      
# This function returns an object of Test   
def fun():   
    return Test()   
          
# Driver code to test above method   
t = fun()    
print(t.str)   
print(t.x)  

输出:

GeeksForGeeks
Shubham Singh

Python 产量和返回之间的区别

序列号 YIELD RETURN
1 Yield 通常用于将常规 Python 函数转换为生成器。 Return 一般用于执行结束以及“returns”将结果返回给调用者语句。
2 它取代函数的返返回暂停其执行而不破坏局部变量。 它退出函数并将值返回给调用者。
3 当生成器将中间结果返回给调用者时使用它。 当函数准备好发送值时使用它。
4 在yield语句之后编写的代码将在下一个函数调用中执行。 while,return语句之后编写的代码将不会执行。
5 它可以运行多次。 它只运行一次。
6 Yield 语句函数从函数暂停的最后一个状态开始执行。 每个函数调用都从头开始运行该函数。


相关用法


注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 Difference between Yield and Return in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。