Mahdi
3 سال پیش توسط Mahdi مطرح شد
5 پاسخ

فرق return و print چیه

سلام
لطفا یک نفر خیلی ساده توضیح بده که فرق return و print در چیه؟


ثبت پرسش جدید
عبدالرحمان کیانی
تخصص : Backend developer
@abdolrahman 3 سال پیش آپدیت شد
1

تفاوتشون ساده‌ست
بعنوان مثال به return نگاه کنید

def returnFunc():
    return 2*2

این تابع 2*2 رو برمیگردونه
این یعنی چی؟ یعنی اینکه وقتی شما اون فانکشن رو صدا زدید ، چیزی که برگردوندین جایگذین میشه با فانکشن. مانند این مثال:

print(returnFunc())

برابره با :

print(2*2)

اما print فرق داره. میاد دقیقا اون چیزی که بهش دادین رو توی خروجی چاپ میکنه. ولی return اینکارو نمیکنه

ولی return چه فایده ای داره و کجا استفاده میشه؟
خب ممکنه کسی که داره از اون تابع استفاده میکنه نخواد چیزی که میده رو چاپ کنه! شاید بخواد ببینه برابر فلان چیز هست یا نه ، یا اینکه بخواد یک متغیر رو برابر با چیزی که اون تابع برمیگردونه بزاره. مثل این:

if returnFunc() == 4:
    print('2 * 2 = 4')

امیدوارم مفید بوده باشه :)


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش آپدیت شد
2

return میاد و یک مقدار رو برای یک فانکشن بر میگردونه ، مثلا :

def test():
    return "test"

اینجا اگر فانکشن تست رو اجرا کنید مقدار "test" رو برمیگردونه ولی چاپ نمیکنه . اگه میخواید چاپ کنه باید درون print قرار بدید .
مثلا :

def test():
    return "test"
test()

output : هیچی
ولی اگه میخواید چاپ کنید باید در print قرار بدید :

def test():
    return "test"

print(test())

output : test

به صورت خلاصه عرض کنم :
return => مقدار خروجی که یک فانکشن بر می گرداند
print => چاپ کردن یک مقدار در صفحه


:)
تخصص : اندروید - تازه کار
@ERR 3 سال پیش آپدیت شد
1

وقت بخیر
کاملن فرق دارن این دو با هم
print شما میخواهید یه چیزی رو روی صفحه نمایش چاپ کنید(مثال بخوام بزنم از زبان های دیگه توی اندروید مثلن توی بیشتر برنامه ها اگه دیده باشید خطا میخواد به ما نشون بده یا اعلان دیگه یه تیتر پایین صفحه میاد مثل عکس زیر)
توضیح تصویر رو وارد کنید

برای پایتون نیز همینه و پرینت میگیره که به شما نشون بده اون چیزی که بهش دادید.
اما return در فانکشن ها کاربرد دارد و وقتی یک فانکشن را فراخوانی میکنید و بخواهید آن فانکشن یک مقدار به شما برگردونه باید از return استفاده کنید
مثلن فانکشن زیر

def getAge():
     return 21

وقتی فانکشن بالا را فراخوانی کنیم مثل زیر این فانکشن یک مقدار به ما برمیگرداند که میتوانم آن را در یک متغییر ذخیره کنیم یا هر جا که بخواهیم از آن استفاده کنیم:

x = getAge()

و در بالا مقدار x برابر 21 خواهد بود.
(ابتدا سمت راست مساوی اجرا میشه یعنی فانکشن گرفتن سن (getAge) و فانکشن getAge هنگامی که به return برسه قطع میشه و به جایی که فرخوانی شده برمیگرده همراه با مقدار برگشت داده شده که این مقدار به x داده میشه)


عبدالرحمان کیانی
تخصص : Backend developer
@abdolrahman 3 سال پیش آپدیت شد
1

تفاوتشون ساده‌ست
بعنوان مثال به return نگاه کنید

def returnFunc():
    return 2*2

این تابع 2*2 رو برمیگردونه
این یعنی چی؟ یعنی اینکه وقتی شما اون فانکشن رو صدا زدید ، چیزی که برگردوندین جایگذین میشه با فانکشن. مانند این مثال:

print(returnFunc())

برابره با :

print(2*2)

اما print فرق داره. میاد دقیقا اون چیزی که بهش دادین رو توی خروجی چاپ میکنه. ولی return اینکارو نمیکنه

ولی return چه فایده ای داره و کجا استفاده میشه؟
خب ممکنه کسی که داره از اون تابع استفاده میکنه نخواد چیزی که میده رو چاپ کنه! شاید بخواد ببینه برابر فلان چیز هست یا نه ، یا اینکه بخواد یک متغیر رو برابر با چیزی که اون تابع برمیگردونه بزاره. مثل این:

if returnFunc() == 4:
    print('2 * 2 = 4')

امیدوارم مفید بوده باشه :)


عبدالرحمان کیانی
تخصص : Backend developer
@abdolrahman 3 سال پیش مطرح شد
0

دوست عزیز @nimabandari27
متد با فانکشن فرق داره :)
متد به تابعی که درون یک شی قرار داره میگن


:)
تخصص : اندروید - تازه کار
@ERR 3 سال پیش آپدیت شد
0

@abdolrahman
بله درسته ,عذر میخوام. تصحیح شد


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام