ההצהרה return של פייתון משמשת להחזיר ערכים מתוך הפונקציה. אנו יכולים להשתמש בהצהרת return רק בתוך פונקציה ב-Python.
פונקציה ב-Python בלעדי return statement
כל פונקציה ב-Python מחזירה משהו. אם לפונקציה אין הצהרת return, אז היא מחזירה None
.
def print_something(s):
print('Printing::', s)
output = print_something('Hi')
print(f'A function without return statement returns {output}')
פלט:

דוגמה על הצהרת return ב-Python
אנו יכולים לבצע פעולה כלשהי בתוך פונקציה ולהחזיר את התוצאה לקורא באמצעות הצהרת return.
def add(x, y):
result = x + y
return result
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
פלט:

הצהרת return ב-Python עם ביטוי
אנו יכולים להכליל גם ביטויים בהצהרת return. במקרה כזה, הביטוי מוערך והתוצאה מוחזרת.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
פלט:

Python להחזיר בוליאני
בואו נסתכל על דוגמה שבה נחזיר את הערך הבוליאני של ארגומנט בפונקציה. נשתמש בפונקציית bool() כדי לקבל את הערך הבוליאני של האובייקט.
def bool_value(x):
return bool(x)
print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')
פלט:

Python להחזיר מחרוזת
בואו נסתכל על דוגמה שבה הפונקציה שלנו תחזיר את הייצוג המחרוזת של הארגומנט. נוכל להשתמש בפונקציית str() כדי לקבל את הייצוג המחרוזת של אובייקט.
def str_value(s):
return str(s)
print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')
פלט:

Python להחזיר Tuple
לעיתים קרובות נרצה להמיר מספר משתנים ל־tuple. בואו נראה איך לכתוב פונקציה שתחזיר tuple ממספר משתנים.
def create_tuple(*args):
my_list = []
for arg in args:
my_list.append(arg * 10)
return tuple(my_list)
t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')
פלט:

קריאה נוספת: Python *args ו־**kwargs
פונקציית Python שמחזירה פונקציה נוספת
ניתן להחזיר פונקציה גם מההצהרת ההחזרה. זה דומה ל־קיריינג (Currying), שהוא הטכניקה של תרגום הערך של פונקציה שמקבלת מספר רב של ארגומנטים למבנה של סדר של פונקציות, כל אחת עם ארגומנט יחיד.
def get_cuboid_volume(h):
def volume(l, b):
return l * b * h
return volume
volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')
cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')
פלט:

פונקציית Python שמחזירה פונקציה חיצונית
ניתן גם להחזיר פונקציה שהוגדרה מחוץ לפונקציה עם ההצהרת ההחזרה.
def outer(x):
return x * 10
def my_func():
return outer
output_function = my_func()
print(type(output_function))
output = output_function(5)
print(f'Output is {output}')
פלט:

החזרת ערכים מרובים ב־Python
אם ברצונך להחזיר ערכים מרובים מתוך פונקציה, תוכל להחזיר טאפל, רשימה או אובייקט מילון לפי הצורך שלך. עם זאת, אם יש לך צורך להחזיר מספר גדול של ערכים, אז יש שימוש בסדר הוא פעולה הדורשת המון משאבים. ניתן להשתמש ב-\texttt{yield} במקרה כזה, להחזיר ערכים מרובים לפי הצורך.
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
# הצגת הערכים
for i in a:
print(i)
פלט:

סיכום
הפקודה להחזרת ערכים מתוך פונקציה בפייתון משמשת להחזרת פלט מתוך פונקציה. למדנו כי ניתן גם להחזיר פונקציה מתוך פונקציה אחרת. בנוסף, הביטויים מעובדים ואז התוצאה מוחזרת מתוך הפונקציה.
ניתן לבדוק קובץ פייתון שלם ודוגמאות נוספות ב-מאגר הקוד שלנו ב-GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement