可迭代对象、迭代器与生成器
生活随笔
收集整理的這篇文章主要介紹了
可迭代对象、迭代器与生成器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
迭代器
什么是迭代器
迭代指的是一個重復的過程,且不是單純的重復,每次重復都基于上次的結果。
迭代器指的是迭代取值的工具,該工具的特點是可以不依賴于索引取值。
為什么用迭代器
為了找出一種通用的&可以不依賴于索引的迭代取值方式。
如何用迭代器
可迭代的對象:但凡內置有__iter__方法得當對象都稱之為可迭代的對象
迭代器對象:既內置有__iter__,又內置__next__方法
關于__iter__方法:
迭代器的優缺點
有點
缺點
可迭代的對象
str、list、tuple、dict、set、文件對象
迭代器對象
文件對象是python定義好的迭代器對象
可迭代對象如何轉化為迭代器對象
調用可迭代對象內置的__iter__方法會得到一個返回值,該返回值就是對應的迭代器對象
for循環
for循環準確的說應該是迭代器循環,原理如下:
循環往復,直到迭代器取值完畢拋出異常然后捕捉異常結束循環
自定義迭代器
定義一個迭代器必須要有yield關鍵字在函數內但凡包含有yield關鍵字,運行到yield時,會暫停運行并會得到一個返回值,該返回值成為生成器對象,生成器本質就是迭代器
yield
yield和return的異同
相同點:都可以用于返回值
不同點:yield可以暫停函數,yield可以返回多個值,而return只能返回一次值且會終止函數的運行。
一個自定義的生成器
轉載于:https://www.cnblogs.com/zuanzuan/p/9720875.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的可迭代对象、迭代器与生成器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将两个有序链表合并,合并后仍然有序
- 下一篇: c++ 将输入存储到数组,然后反转数组,