בפיתון, מה ההבדל בין מצגת לולאה לביטוי אם?


תשובה 1:

A for loop הוא קונסטרוקציה העוברת דרך רצף המבצע חבילת קוד עבור כל פריט ברצף. רצף זה יכול להיות טווח, רשימה, כיפה, קבוצה, מילון, פונקציית גנרטור, ביטוי גנרטור, או אפילו אובייקט מותאם אישית; לפייתון יש שם לאותם רצפים בהם ניתן להשתמש בלולאה for - הם נקראים איטרטורים.

הצהרת אם אינה לולאה - לא ניתן להשתמש בה כדי לחזור על חבילת קוד. ניתן להשתמש בהצהרת אם רק כדי לקבוע איזו חבילת קוד ניתן לבצע.

חבילת קוד היא כל גוש טקסט שמוטמע בקודמו.


תשובה 2:

אף על פי ששניהם אם ולמרות זאת הצהרות זרימת בקרה מורכבות בפיתון, שניהם משמשים מטרות שונות מאוד. הרשה לי לכלול הצהרה תוך כדי הדיון מעט מושלם.

הצהרת if משמשת לבדיקת תנאי ולביצוע גוש קוד פעם אחת אם תנאי זה מוערך כ- True. לדוגמה:

>>> א = 1
>>> אם a == 1:
... הדפס (א)
...
1

הצהרת זמן משמשת לולאות (איטרציה). בדומה ל- if, זה בודק תנאי ומבצע גוש קוד כל עוד התנאי הזה נכון. לדוגמה:

>>> בזמן ש <5:
... הדפס (א)
... a + = 1
...
1
2
3
4

הצהרה לביטוי שונה מאלה במובן זה שהיא אינה בודקת מצב. עם זאת, כמו הצהרת זמן, הצהרה מקוונת משמשת גם לולאות. אבל ההבדל הוא שזה חוזר (לולאות) דרך האלמנטים של איטרטור (חשוב עליו כזרם נתונים, כמו רשימות) ומבצע גוש קוד כל עוד יש איזה אלמנט באותו איטרטור. לדוגמה:

>>> א = [1, 2, 3, 4]
>>> למספר ב:
... הדפס (מספר)
...
1
2
3
4

כל אלה הצהרות מורכבות מכיוון שהן כוללות סעיפים נוספים. לכל שלוש ההצהרות הללו יש סעיף אחר לא חובה. הצהרה אם יכולה להיות גם סעיפי elif מרובים.

כמו כן, לשתי הצהרות הלולאה, אנו יכולים לשנות את זרימתם תוך שימוש בשבירה או להמשיך בהצהרות.

שיתוף של כמה מדפי הבלוגים שלי בנושאים אלה אם זה עוזר לך:

איטרציה בפיתון: הצהרות לשבירה ולהמשך המשך יכולות לעזור להבין את השימוש בהצהרות המשמשות לולאות (איטרציה).

הבנת לולאות ב- Python תסייע להבין כיצד פועלות לולאות בפועל ומהם איטרטורים, iterables ופרוטוקול iterator.