ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
COM64לא בפורום כעת ת.הצטרפות: 09/07/2003 · הודעות: 1608 · מיקום: ראשל"צ
 

הודעה פורסם: 14/04/2021 - 11:38
נושא ההודעה: שימוש ב-Lambda במקום def לפונקציה בפייתון?

מנסה להבין מה הסיבות להשתמש ב-lambda במקום להגדיר פונקציה באופן הרגיל.

תודה!

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

הודעה פורסם: 14/04/2021 - 12:13
נושא ההודעה:

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

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





קוד:

>>> map(lambda num: num ** 2, [1,2,3])
[1, 4, 9]
>>>
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 14/04/2021 - 21:07
נושא ההודעה:

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

למשל אם אני רוצה לממש callback כלשהו בצורה שהיא inline יהיה קל לממש את זה ב lambda במידה והקוד הוא קצר מאוד.


קוד:

sum = lambda old, new : old + new

result = 0

for x in range(1, 10):
    result = sum(result, x)


כמובן ש sum קיים כבר, אבל סתם להדגמה.

מתי להשתמש? כאשר צריך "פונקציה" פשוטה מאוד ש def מרגיש גדול מידי למשל.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. COM64
  2. אורח
  3. אורח