Python编程必知:return和yield的应用,小白也能懂的区别大揭秘

在Python中,returnyield都可以用于函数中返回值,但它们之间有很大的区别。在这里插入图片描述

return语句用于从函数中返回值并终止函数的执行。当函数执行到return语句时,它会立即停止并返回一个值。在函数中,return语句可以出现多次,但只有第一次出现时才会返回值。如果没有指定返回值,则默认返回None

yield语句用于定义生成器函数。生成器函数是一种特殊的函数,它可以暂停执行并返回一个中间结果,然后在需要时恢复执行。当函数执行到yield语句时,它会返回一个值并暂停执行,等待下一次调用继续执行。在函数中,yield语句可以出现多次,每次返回一个值。生成器函数可以用于迭代器,可以通过for循环或next()函数来逐个获取生成器函数返回的值。

因此,returnyield的主要区别在于:return语句用于从函数中返回值并终止函数的执行,而yield语句用于定义生成器函数,可以暂停执行并返回一个中间结果。

下面是一个简单的例子,演示了returnyield的区别:

# return语句的例子
def func_return():
    print("start")
    return 1
    print("end")  # 这行代码不会执行

result = func_return()
print(result)  # 输出:1

# yield语句的例子
def func_yield():
    print("start")
    yield 1
    print("middle")
    yield 2
    print("end")

gen = func_yield()
print(next(gen))  # 输出:1
print(next(gen))  # 输出:2

猜你喜欢

转载自blog.csdn.net/u014740628/article/details/134822822
今日推荐