מוחזרות מפונקציה
שיעור 4 מתוך 9 בקורס פונקציות lambda ב-Python של Coddy.
שימוש מעניין נוסף בפונקציית lambda הוא להחזיר אותה מפונקציה.
לדוגמה,
def power_of(a):
return lambda b : b ** a
cube = power_of(3) # מכיל את lambda b : b ** 3
square = power_of(2) # מכיל את lambda b : b ** 2
square_root = power_of(0.5) # מכיל את lambda b : b ** 0.5
print(cube(4)) # מדפיס 64
print(square(4)) # מדפיס 16
print(square_root(4)) # מדפיס 2כפי שאפשר לראות, זו דרך ליצור כמה פונקציות קטנות.
אפשר גם ליצור lambda שמחזירה lambda (כאשר מדובר בביטוי אחד),
power_of = lambda a : lambda b : b ** a
print(power_of(2)(5)) # מדפיס 25 = 5 ** 2אתגר
קלצרו פונקציה בשם message_constructor שמקבלת שתי מחרוזות: שם פרטי ושם משפחה. שם המשפחה יכול להיות None.
הפונקציה תיצור שם משני הארגומנטים, בהתאם לתנאים הבאים:
- אם קיים רק השם הפרטי, השם יהיה שווה לשם הפרטי
- אם שני הארגומנטים קיימים, הפונקציה תחבר אותם עם רווח ביניהם.
הפונקציה תחזיר פונקציית lambda שתקבל ארגומנט אחד ותחזיר מחרוזת.
עיינו במקרי הבדיקה כדי להבין את הפורמט הנדרש מה-lambda.
נסו בעצמכם
def message_constructor(first, last):
# כתבו כאן את הקודכל השיעורים ביחידה פונקציות lambda ב-Python
תרגלו בעצמכם: קומפיילר Python אונליין