Python進(jìn)階2

1 迭代器(Iterator)

  • Iterable
>>> from collections import Iterable
>>> isinstance([1,2,3],Iterable)
True

總結(jié):凡是可作用于 for 循環(huán)的對象都是 Iterable 類型;

  • Iterator
>>> a = [1,2,3,4,5]
>>> f = (x for x in a)
>>> f
<generator object <genexpr> at 0x021379C0>
>>> next(f)
4
>>> next(f)
5
>>> next(f)
6
>>> next(f)
7
>>> next(f)
8
>>> isinstance(f,collections.Iterator)
True

總結(jié):凡是可作用于 next() 函數(shù)的對象都是 Iterator 類型,即迭代器

>>> a=[1,2,3]
>>> b=(1,2,3)
>>> c='abc'
>>> isinstance(a,Iterable)
True
>>> isinstance(b,Iterable)
True
>>> isinstance(c,Iterable)
True

總結(jié): 集合數(shù)據(jù)類型如 list 、 dict 、 str 等是 Iterable 但不是 Iterator ,不過可以 通過 iter() 函數(shù)獲得一個 Iterator 對象。 目的是在使用集合的時候,減少占用的內(nèi)容。

>>> iter(a)
<list_iterator object at 0x02131330>
>>> f=iter(a)
>>> isinstance(f,collections.Iterator)
True

總結(jié):生成器都是 Iterator 對象,但 list 、 dict 、 str 雖然是 Iterable ,卻不是 Iterator 。
把 list 、 dict 、 str 等 Iterable 變成 Iterator 可以使用 iter() 函數(shù)。

2 多線程模擬

  • 模擬多任務(wù)(進(jìn)程,線程,協(xié)程)實(shí)現(xiàn)方式之一:協(xié)程
def test1():
    while True:
        print("--1--")
        yield None
def test2():
    while True:
        print("--2--")
        yield None
t1 = test1()
t2 = test2()
while True:
    t1.__next__()
    t2.__next__()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 2.1 迭代器和可迭代對象 迭代器是指繼承自Iterator,并實(shí)現(xiàn)了next方法的對象。使用迭代器的好處是節(jié)省內(nèi)...
    Lemon_Home閱讀 314評論 0 0
  • python學(xué)習(xí)筆記 聲明:學(xué)習(xí)筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學(xué)習(xí)學(xué)習(xí)的,另外根據(jù)自己平時的積累進(jìn)行修正...
    renyangfar閱讀 3,326評論 0 10
  • 1.1==,is的使用 ·is是比較兩個引用是否指向了同一個對象(引用比較)。 ·==是比較兩個對象是否相等。 1...
    TENG書閱讀 796評論 0 0
  • Python 是一種相當(dāng)高級的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 2,050評論 0 3
  • 我平時玩游戲并不多,蘋果手機(jī)因?yàn)槭秦ぐ?6G的,手機(jī)中未裝任何游戲,前段時間看到朋友玩貪吃蛇的游戲,她覺得挺好玩的...
    竇嘰歪閱讀 2,784評論 58 43

友情鏈接更多精彩內(nèi)容