国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Python yield生成器和return對比代碼實(shí)例

瀏覽:143日期:2022-07-29 13:52:46

迭代是Python最強(qiáng)大的功能之一,是訪問集合元素的一種方式。

迭代器是一個(gè)可以記住遍歷的位置的對象。

迭代器對象從集合的第一個(gè)元素開始訪問,直到所有的元素被訪問完結(jié)束。迭代器只能往前不會(huì)后退。

迭代器有兩個(gè)基本的方法:iter() 和 next()。

生成器是特殊的迭代器

def gen_yield(): for i in range(1,10): for j in range(1,10): yield i+j # return i+jif __name__ == ’__main__’: aa = gen_yield() print(aa.__next__()) print(aa.__next__()) print(aa.__next__()) print(aa.__next__()) print(aa.__next__()) print(aa.__next__())

yield和return都有返回值的作用,但不同的是,yield會(huì)記住當(dāng)前迭代的位置,而return不會(huì)

如果還是不能很好的理解上面兩者的區(qū)別,看如下代碼

def test_yield(): for i in [1,2,3]: yield idef test_return(): for i in [1,2,4]: return iif __name__ == ’__main__’: test_yield_obj = test_yield() print(’這里測試yield’) print(test_yield_obj.__next__()) # 1 print(test_yield_obj.__next__()) # 2 print(test_yield_obj.__next__()) # 3 print(’這里是測試return’) print(test_return()) # 1 print(test_return()) # 1 print(test_return()) # 1

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 保亭| 根河市| 巴马| 临海市| 正镶白旗| 任丘市| 东山县| 柯坪县| 安义县| 弥渡县| 武夷山市| 随州市| 武穴市| 广东省| 苍梧县| 大英县| 宝清县| 青州市| 房山区| 梅河口市| 伊金霍洛旗| 宜都市| 常州市| 武威市| 炉霍县| 连山| 天津市| 新野县| 岑巩县| 文成县| 张掖市| 江口县| 辽阳市| 襄汾县| 家居| 台南市| 北海市| 海淀区| 宁城县| 简阳市| 新密市|