PracticU

lambda

בלי כתוביותעם כתוביות
PracticU › קורס פייתון - Python › lambda
מילון מושגים:
Lambda - פונקציה קצרה ואנונימית בקוד. גם שירות של AWS להרצת קוד בענן בלי לנהל שרתים.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.

lambda
בשיעור הזה נלמד על פונקציות lambda בפייתון, שהן פונקציות אנונימיות, כלומר פונקציות בלי שם שמוגדרות במקום השימוש.
השלבים העיקריים
1. הגדרה רגילה לעומת lambda: מגדירים פונקציה pw שמחזירה את x בריבוע, ואחר כך פונקציית lambda שעושה אותו דבר. שתיהן מתנהגות זהה.
2. מבנה הביטוי: מתחילים במילה השמורה lambda, אחריה שמות הפרמטרים, נקודתיים, ואז הביטוי שמוחזר. אין צורך לכתוב return.
3. פרמטרים מרובים: lambda יכולה לקבל כמה פרמטרים, למשל שני מספרים שמחזירה את הסכום שלהם.
4. מגבלות: בתוך lambda מותר ביטוי אחד בלבד. אי אפשר להגדיר בה משתנים או להשתמש בבלוקים עם כמה שורות. אפשר כן להשתמש בתנאי בתוך הביטוי, ואפשר לקרוא לפונקציה קיימת, למשל pw.
5. שימושים עיקריים: מיון, פונקציות כמו map ו-filter, וקולבקים בממשקים גרפיים.
איך זה עובד
הפונקציה האנונימית נוחה כשצריך פונקציה קטנה שנמצאת במקום אחד בלבד. בלי lambda צריך לקפוץ להגדרה של הפונקציה כדי להבין מה היא עושה, ואילו lambda מציגה את ההגדרה במקום השימוש, וזה הופך את הקוד לקריא יותר.
טעויות נפוצות
- משפט print בתוך lambda לא עובד כמו קריאה לפונקציה, ולכן עדיף להשתמש בה לחישוב ולא להדפסה.
- כשהביטוי מורכב מדי, עדיף להגדיר פונקציה רגילה עם שם.
שימו לב
בלי תיעוד נוסף, מספיק להבין את המבנה של lambda: פרמטרים, נקודתיים וביטוי אחד. בשיעורים הבאים רואים אותה בשימוש עם map ו-filter.
השיעור הבא בקורס: map & filter

פרקי ההרצאה: lambda

  1. 00:00

    מהן פונקציות למדה (lambda)

  2. 00:49

    מבנה של פונקציית למדה

  3. 01:28

    למדה שמחברת שני מספרים

  4. 02:46

    למה למדה לא כוללת return

  5. 03:28

    מגבלות הביטוי בתוך למדה

  6. 04:45

    דוגמה מורכבת יותר עם תנאים

תמלול ההרצאה: lambda

הטקסט המלא של הדקות הראשונות בהרצאה «lambda» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:03

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

  2. 00:16

    אז בואו נתחיל בדוגמה. אז נתחיל מלהגדיר פונקציה שנקראת pw, פה מה שהיא עושה היא מקבלת x ומחזירה את x בריבוע. ונמשיך ולהגדיר את הלמדה התואמת.

  3. 00:38

    ונדפיס את שתיהן. יש לנו פה פונקציה שמקבלת x ומחזירה את x בריבוע, ויש לנו גם פונקציית למדא זהה, שגם מקבלת x ומחזירה את x בריבוע.

  4. 00:55

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

  5. 01:06

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

  6. 01:27

    בואו נגדיר למדה ופונקציות שמקבלות שני מספרים ומחזירות את הסכום שלהם. אז הפונקציה היא מאוד פשוטה והגרסה של הלמדה, בואו נראה שבאמת זה עובד.

  7. 02:24

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

  8. 02:34

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

  9. 03:04

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

  10. 03:26

    עכשיו, פייתון מאוד מגבילה אותנו מבחינת למדות. אנחנו לא יכולים להגדיר משתנים בתוך למדות, אנחנו לא יכולים לעשות יותר מביטוי אחד, אנחנו לא יכולים להחזיר להגיד בתוך הלמדה, יש לי גם משתנה עזר z ששווה לאיזשהו משהו, שווה ל-5, ואז אני רוצה שתעשה לי x ועוד y, ואם x ועוד y גדול מ... לא, אנחנו מוגבלים לביטוי, ואך ורק ביטוי אחד, כאשר הביטוי הזה יכול

  11. 03:54

    להיות עם ביטוי מתוחכם יחסית של x ועוד, x בחזקת זה או זה, זה וזה, אבל לא יותר מזה. הפונקציה האנונימית, פייתון ברמת השפה זה מוגבל כדי לשמור על הפשטות שלה.

  12. 04:14

    בואו נראה דוגמה קצת יותר קיימת. אני אוסיף פה קצת סוגריים, מה שאני רוצה להגיד זה כזה דבר.

  13. 04:47

    או ש-x גדול מ-5, או ש-x שווה 2, או ש-x קטן מ-1, והמספר 5 תם, לא, נעשה את זה ככה, x ו-y, ו-y שווה שווה 5. בעצם אנחנו רואים שעדיין יש לנו פה ביטוי 1, אפשר לשים את זה בתוך if statement והדבר הזה יהיה חוקי, אבל אין לנו פה משהו יותר מתוחכם מזה.

לקורס המלא: קורס פייתון אונליין למתחילים

ההרצאה הקודמת: כתיבת SCRIPT הבודק לינקים באתר

ההרצאה הבאה: map & filter

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס PHP - פרויקט מעשי