[爆卦]Iterator Pattern是什麼?優點缺點精華區懶人包

雖然這篇Iterator Pattern鄉民發文沒有被收入到精華區:在Iterator Pattern這個話題中,我們另外找到其它相關的精選爆讚文章

在 iterator產品中有7篇Facebook貼文,粉絲數超過10萬的網紅BorntoDev,也在其Facebook貼文中提到, 💡 หลาย ๆ คนที่เขียน Python มาสักพักแล้ว หรือบางคนเพิ่งเริ่มเขียน อาจจะยังไม่รู้จักการใช้งาน Iterator และ Iterable กันสักเท่าไหร่ หรือบางคนอาจจะใช้งาน...

 同時也有5部Youtube影片,追蹤數超過17萬的網紅魏巍,也在其Youtube影片中提到,記錄學習 python 語言裡面 Iterator 跟Generator 的概念。在介紹 Iterator 之前,先介紹什麼叫做 Iterable。 Iterable 是可以迭代對象,如字串或是List,經過 iter 方法處理之後,會變成 Iterator。這樣講實在很模糊,請看我的短片,裡面有詳...

  • iterator 在 BorntoDev Facebook 的最佳貼文

    2021-07-07 13:49:08
    有 110 人按讚

    💡 หลาย ๆ คนที่เขียน Python มาสักพักแล้ว หรือบางคนเพิ่งเริ่มเขียน อาจจะยังไม่รู้จักการใช้งาน Iterator และ Iterable กันสักเท่าไหร่ หรือบางคนอาจจะใช้งานอยู่แล้ว แต่ยังไม่รู้ความหมายของมัน…
    .
    🔥 วันนี้แอดมาสรุปการใช้งาน Iterator และ Iterable มาให้เพื่อน ๆ อ่าน จะได้กระจ่างกันเลยว่าทั้งสองเนี่ยมันคืออะไร ใช้งานยังไง ถ้าพร้อมแล้วไปอ่านกันเลยยยยย!!
    .
    Iterable - Object ที่สามารถวนซ้ำได้ (List, Tuple, และ Strings ก็เป็น Iterable)
    Iterator - ตัวที่ใช้วนซ้ำ
    .
    ประกอบด้วย Methods ดังนี้
    🔹 __iter __ () - ใช้สร้าง Iterator เพื่อวนซ้ำใน Iterable
    🔹 __next __ () - ใช้ดึงข้อมูลออกจาก Iterable
    .
    ⚙️ การใช้งาน
    iter() จะทำการสร้าง Iterator เพื่อกำหนดการวนซ้ำให้กับ Iterable จากนั้น และ next() จะดึงข้อมูลใน Iterable ออกมาตามลำดับการวนซ้ำนั่นเอง
    .
    👨‍💻 ตัวอย่าง1 : ดึงค่าใน Iterable ออกมาตามลำดับ Index
    fruit = ["Apple", "papaya", "banana", "orange"]

    iterator = iter(fruit)

    print(next(iterator))
    print(next(iterator))
    print(next(iterator))
    print(next(iterator))
    .
    หากเรียกใช้ 'next(iterator_obj)' อีกครั้ง มันจะ Return 'StopIteration' ออกมา เพราะค่าถูกดึงออกมาครบแล้วนั่นเอง
    .
    📑 ผลลัพธ์
    Apple
    papaya
    banana
    orange
    .

    👨‍💻 ตัวอย่าง2 : ตรวจสอบค่าใน Object ที่กำหนดว่าเป็น Iterable หรือไม่
    def iterable(y):
    try:
    iter(y)
    return True

    except TypeError:
    return False

    arr = [34, [24, 35], (44, 112), {"Prayut":250}]

    for i in arr:

    print(i, " is iterable : ", iterable(i))
    .
    📑 ผลลัพธ์
    34 is iterable : False
    [24, 35] is iterable : True
    (44, 112) is iterable : True
    {'Prayut': 250} is iterable : True
    จะเห็นว่า 34 ไม่ได้เป็น Iterable นั่นเอง
    .
    💥 Source : https://www.geeksforgeeks.org/python-difference-iterable-iterator/
    .
    borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน

  • iterator 在 台灣人工智慧學校 Facebook 的最佳貼文

    2020-03-31 12:30:39
    有 80 人按讚

    ◤ Python 的可迭代物件、迭代器和產生器 ◢

    如果你是一個剛接觸 Python 新手,是不是對於 generator, iterator, iterable,著實感到苦惱呢?這篇文章專注於解說常見的 python 容器,讓大家對於 python 語法的資料結構更有概念一些。
    ⭐ 好文分享在這裡 ⭐ https://bit.ly/3arByAM

    #台灣人工智慧學校medium專欄
    #作者為台灣人工智慧學校AI工程師
    #台北總校 #新竹校區 #台中校區 #南部校區

  • iterator 在 91 敏捷開發之路 Facebook 的最讚貼文

    2019-07-25 12:54:49
    有 55 人按讚

    這是上課中錄的一小段影片,這個例子是讓大家自己從無到有完成 SequenceEqual() 的功能後,再透過重構來設計出更有彈性的 API。
     
    進行方式是,先給大家測試案例來描述需求,請大家完成代碼通過測試之後,Live demo 帶著大家一步一步把更有彈性的 API 設計重構出來。
     
    ※ 你沒看錯,二十幾個 lab 都是先從測試紅燈開始,用測試來代表實務的需求
     
    三天的【C#進階設計-從重構學會高易用性與高彈性API設計】培訓中,你會學到很多 C# 的基本功,包含:
     
    👉 var, anonymous type, yield, extension method

    👉 interface, delegate, lambda

    👉 generic, covariance, contravariance

    👉 IEnumerable, IEnumerator, HashSet, Stack, Queue, IEqualityComparer, IComparer…

    👉 iterator pattern, decorator pattern

    還有大量的重構手法,以及用 IDE 來有效快速產生與重構你的代碼與 API。
     
    三天之後,ReSharper/JetBrains IDE 的重構跟產生功能,你大概就一輩子都不會忘記了。
     
    【C#進階設計-從重構學會高易用性與高彈性API設計】,8/16~8/18 三天,額外開放 2 個保留名額。

    >> 課程介紹請見:https://dotblogs.com.tw/hatelove/2019/02/18/csharp-advance-api-design

    >> 上一梯次學員心得,請見:https://www.facebook.com/pg/91agile/photos/?tab=album&album_id=1149191585255458&__tn__=-UC-R

    ※ 錯過這一梯次,我個人預估下一梯次大概要再等快一年。
     
    💡 課程介紹的文章中,還有 Zip() 的示範影片唷。💡