iteratable זה מבנה נתונים שאפשר לעשות עליו איטרציות, (כלומר לרוץ על הנתונים שבו עם לולאה), ו-iterator זה ערך ספציפי בתור iterable?
אני אנסה לראות אם הבנתי:
iterator - הוא משתנה שאפשר לעבור על ערכיו. (כמו רשימה, מחרוזת, מילון, סט וכו…)
iterable - שם תואר, אומר שהוא “ניתן לאיטרציה” כלומר שניתן לעשות עליו פעולת איטרציה.
כלומר כל משתנה שהוא iterator הוא iterable כי ניתן לעשות עליו איטרציה.
יש על ההבדל בין המונחים הסבר בסוף מחברת של generators
טוב iterable הבנתי מה הוא אומר, לגבי iterator לפי ההגדרה במחברת 4:
Iterator
ערך שמייצג זרם של מידע, ומתוכו מאחזרים ערכים אחרים. אפשר לאחזר ממנו ערך אחד בכל פעם, לפי סדר מסוים, בעזרת next()
.
iterator הוא בהכרח iterable, אך לא כל iterable הוא iterator.
אז iterator הוא ערך שמוחזר ע"י מילת המפתח yield בכל קריאה לgenerator function?
iterable - שם תואר, אומר שהוא “ניתן לאיטרציה” כלומר שניתן לעשות עליו פעולת איטרציה.
iterator - הוא משתנה שמחזיר זרם ערכים (ערך אחד בכל איטרציה) מתוך ה iterable = (רשימה, מחרוזת, מילון, סט וכו…)