Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
פונקציות למבדה
בדרך כלל אנו מגדירים פונקציה באמצעות המילה המפתח def איפשהו בקוד ומזעיקים אותה בכל פעם שאנו צריכים להשתמש בה.
def sum(a,b): return a + b
a = 1 b = 2 c = sum(a,b) print(c)
כעת במקום להגדיר את הפונקציה איפשהו ולזמן אותה, אנו יכולים להשתמש בפונקציות lambda של Python, שהן פונקציות מקוונות המוגדרות באותו מקום שאנו משתמשים בהן. לכן אין צורך להכריז על פונקציה במקום אחר ולאחר מכן לחזור שוב אל הקוד רק לשימוש חד פעמי.
אין להן צורך בשם, ולכן הן נקראות גם פונקציות אנונימיות. אנו מגדירים פונקציית lambda באמצעות המילה המפתח lambda.
your_function_name = lambda inputs : output
אז הדוגמה לעיל של חיבור באמצעות פונקציית lambda תהיה,
a = 1 b = 2 sum = lambda x,y : x + y c = sum(a,b) print(c)
כאן אנו מקצים את פונקציית ה-lambda למשתנה sum, וכאשר אנו מספקים את הארגומנטים כלומר a ו-b, זה עובד כמו פונקציה רגילה.
Exercise
כתבו תוכנית באמצעות פונקציות lambda כדי לבדוק אם מספר ברשימה הנתונה הוא אי זוגי. הדפיסו "True" אם המספר אי זוגי או "False" אם לא לכל רכיב.
l = [2,4,7,3,14,19]
for i in l:
# your code here
l = [2,4,7,3,14,19]
for i in l:
# your code here
my_lambda = lambda x : (x % 2) == 1
print(my_lambda(i))
test_output_contains("False")
test_output_contains("False")
test_output_contains("True")
test_output_contains("True")
test_output_contains("False")
test_output_contains("True")
success_msg("Nice work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!