知行编程网知行编程网  2022-10-14 19:30 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于return和yield有什么区别吗?的相关知识,包括return后面不加东西返回什么,以及return true和return false的区别这些编程知识,希望对大家有参考作用。


回报率和收益率之间有什么区别吗?


之前小编带领大家认识了return和yield,知道了他们

它们在定义函数的过程中都是返回值,而且都是在函数或方法的主体中用来返回执行结果的,但是有什么区别呢?什么时候用return,什么时候用yield?下面就来看看我的足迹吧~



yield:


1、是暂停函数


2、返回值后继续执行函数体内代码,

3、返回的是一个迭代器(yield本身就是一个生成器——生成器是用来生成迭代器的);



精髓理解:返回后函数执行暂停



return:


1、是结束函数;


2、返回值后不再执行函数体内代码.

3、返回的是一个普通的可迭代对象(list、set、dict等有实际内存地址的存储对象)



精髓理解:返回后函数执行结束


具体区别:

return:返回结果后,函数不再继续执行,完全结束;只执行一次,函数结束

调用方式:函数() 直接执行函数

def func():

    start_time = time.time()

    list = []

    for i in range(1, 100000000):

        list.append(i)

    end_time = time.time()

    cost_time = end_time - start_time

    print(cost_time)

    return  list # 相同的代码

func() # 函数报错,meryerror 内存错误。

Yield:返回结果后,函数不结束,在yield返回值后暂停。再次调用时,在暂停的地方继续执行;它可以执行多次,直到函数结束。

def func():

    start_time = time.time()

    list = []

    for i in range(1, 100000000):

        list.append(i)

    end_time = time.time()

    cost_time = end_time - start_time

    print(cost_time)

    yield list

func() # 随用随取,节省内存空间。

next(func())

它节省了内存空间。保存的是数据的生成方式。可以达到随身携带的效果。

以上就是我为大家整理的return和yield的区别。你学会了吗?更多学习建议:

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享