تفاوتشون سادهست
بعنوان مثال به return نگاه کنید
def returnFunc():
return 2*2
این تابع 2*2 رو برمیگردونه
این یعنی چی؟ یعنی اینکه وقتی شما اون فانکشن رو صدا زدید ، چیزی که برگردوندین جایگذین میشه با فانکشن. مانند این مثال:
print(returnFunc())
برابره با :
print(2*2)
اما print فرق داره. میاد دقیقا اون چیزی که بهش دادین رو توی خروجی چاپ میکنه. ولی return اینکارو نمیکنه
ولی return چه فایده ای داره و کجا استفاده میشه؟
خب ممکنه کسی که داره از اون تابع استفاده میکنه نخواد چیزی که میده رو چاپ کنه! شاید بخواد ببینه برابر فلان چیز هست یا نه ، یا اینکه بخواد یک متغیر رو برابر با چیزی که اون تابع برمیگردونه بزاره. مثل این:
if returnFunc() == 4:
print('2 * 2 = 4')
امیدوارم مفید بوده باشه :)
return میاد و یک مقدار رو برای یک فانکشن بر میگردونه ، مثلا :
def test():
return "test"
اینجا اگر فانکشن تست رو اجرا کنید مقدار "test" رو برمیگردونه ولی چاپ نمیکنه . اگه میخواید چاپ کنه باید درون print قرار بدید .
مثلا :
def test():
return "test"
test()
output : هیچی
ولی اگه میخواید چاپ کنید باید در print قرار بدید :
def test():
return "test"
print(test())
output : test
به صورت خلاصه عرض کنم :
return => مقدار خروجی که یک فانکشن بر می گرداند
print => چاپ کردن یک مقدار در صفحه
وقت بخیر
کاملن فرق دارن این دو با هم
print شما میخواهید یه چیزی رو روی صفحه نمایش چاپ کنید(مثال بخوام بزنم از زبان های دیگه توی اندروید مثلن توی بیشتر برنامه ها اگه دیده باشید خطا میخواد به ما نشون بده یا اعلان دیگه یه تیتر پایین صفحه میاد مثل عکس زیر)
برای پایتون نیز همینه و پرینت میگیره که به شما نشون بده اون چیزی که بهش دادید.
اما return در فانکشن ها کاربرد دارد و وقتی یک فانکشن را فراخوانی میکنید و بخواهید آن فانکشن یک مقدار به شما برگردونه باید از return استفاده کنید
مثلن فانکشن زیر
def getAge():
return 21
وقتی فانکشن بالا را فراخوانی کنیم مثل زیر این فانکشن یک مقدار به ما برمیگرداند که میتوانم آن را در یک متغییر ذخیره کنیم یا هر جا که بخواهیم از آن استفاده کنیم:
x = getAge()
و در بالا مقدار x برابر 21 خواهد بود.
(ابتدا سمت راست مساوی اجرا میشه یعنی فانکشن گرفتن سن (getAge) و فانکشن getAge هنگامی که به return برسه قطع میشه و به جایی که فرخوانی شده برمیگرده همراه با مقدار برگشت داده شده که این مقدار به x داده میشه)
تفاوتشون سادهست
بعنوان مثال به return نگاه کنید
def returnFunc():
return 2*2
این تابع 2*2 رو برمیگردونه
این یعنی چی؟ یعنی اینکه وقتی شما اون فانکشن رو صدا زدید ، چیزی که برگردوندین جایگذین میشه با فانکشن. مانند این مثال:
print(returnFunc())
برابره با :
print(2*2)
اما print فرق داره. میاد دقیقا اون چیزی که بهش دادین رو توی خروجی چاپ میکنه. ولی return اینکارو نمیکنه
ولی return چه فایده ای داره و کجا استفاده میشه؟
خب ممکنه کسی که داره از اون تابع استفاده میکنه نخواد چیزی که میده رو چاپ کنه! شاید بخواد ببینه برابر فلان چیز هست یا نه ، یا اینکه بخواد یک متغیر رو برابر با چیزی که اون تابع برمیگردونه بزاره. مثل این:
if returnFunc() == 4:
print('2 * 2 = 4')
امیدوارم مفید بوده باشه :)
دوست عزیز @nimabandari27
متد با فانکشن فرق داره :)
متد به تابعی که درون یک شی قرار داره میگن
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟