print جواب را بلند میگوید؛ return روی کاغذ میدهد
return |
print |
|---|---|
| مقداری را به صداکنندهٔ تابع تحویل میدهد | فقط روی صفحه نشان میدهد |
| بعد از آن تابع تمام میشود | اجرا ادامه پیدا میکند |
| فقط داخل تابع معنی دارد | هر جا کار میکند |
print مثل این است که جواب را بلند بگویی: همه میشنوند ولی کسی یادداشت نمیکند. return مثل این است که جواب را روی کاغذ بنویسی و دست صداکننده بدهی: میتواند در متغیر نگهش دارد و با آن حساب کند.
def sum_3num(a, b, c):
return a + b + c
x = sum_3num(1, 2, 3)
print(x * 10) # 60 : با نتیجه کار میکنیم
دو نکتهٔ گام ۳ و ۴:
- تابعی که هیچ
returnی ندارد، خودکارNoneبرمیگرداند. این باگِ بیصدای رایجی است: جواب محاسبه میشود ولی برگردانده نمیشود. - با
returnمیشود چند مقدار برگرداند:return smallest, largestیک تاپل میسازد وlo, hi = min_max(...)آن را در دو متغیر باز میکند.
قاعدهٔ کلی: توابع محاسباتی باید return کنند و چاپ را به کد صداکننده بسپارند. درس کامل return و print را هم ببین.