Menu
Coddy logo textTech

מוחזרות מפונקציה

שיעור 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
challenge icon

אתגר

קל

צרו פונקציה בשם message_constructor שמקבלת שתי מחרוזות: שם פרטי ושם משפחה. שם המשפחה יכול להיות None.

הפונקציה תיצור שם משני הארגומנטים, בהתאם לתנאים הבאים:

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

הפונקציה תחזיר פונקציית lambda שתקבל ארגומנט אחד ותחזיר מחרוזת.

עיינו במקרי הבדיקה כדי להבין את הפורמט הנדרש מה-lambda.

נסו בעצמכם

def message_constructor(first, last):
    # כתבו כאן את הקוד

כל השיעורים ביחידה פונקציות lambda ב-Python

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

מבואתחבירעם ארגומנטיםמוחזרות מפונקציה

2עם פונקציות מובנות

סינוןמיפוי

תרגלו בעצמכם: קומפיילר Python אונליין