تفاوت print و return در پایتون

5

یکی از سوال هایی که به وفور درباره مفاهیم زبان برنامه نویسی پایتون و برخی دیگر از زبان های برنامه نویسی پرسیده می شود ، این است که تفاوت return با print در چیست؟

تفاوت print با return در پایتون

اولین چیزی که بهتر است بدانید این است که return و print هر دو دستور یا Statement هستند. نه تابع یا Function . که البته این یک شباهت آن ها است. اما از لحاظ کارکرد باید دانست که دستور print تنها جهت نمایش یک string به کاربر استفاده می شود. از این رو معمولا آن چه را که برای انسان قابل فهم است توسط این دستور نمایش می دهیم. در نتیجه واضح است که کامپیوتر با بهتر است در این جا بگوییم کامپایلر ، نمی تواند از خروجی print در جایی استفاده نماید.

در مقابل دستور return ، یک خروجی قابل فهم توسط کامپیوتر را نمایش خواهد داد ( برمی گرداند ) این خروجی معمولا توسط Function ها ایجاد شده است. همچنین مقدار نمایش داده شده یا بازگردانده شده توسط دستور return اغلب از چشم کاربر دو خواهد ماند. اما از طرف دیگر در آینده توسط کامپیوتر و کامپایلر قابل استفاده است.

اما همین مسائل را می توانیم از زاویه دیگر نیز بازگو کنیم. دستور print و مقدار بازگشتی آن هیچ تاثیری بر روی Function ها در یک قطعه کد Python نمی گذارد. کاربرد print فقط در جهت به وجود آوردن مزایا برای کاربر و افزایش سازگاری با استاندارد های User Friendly نرم افزار استفاده می شود. البته این کاربر همیشه کاربر نهایی نیست. گاهی با استفاده از print مقادیری را نمایش خواهیم داد که برای آسان تر شدن فهم سایر اعضای تیم که بر روی همان قطعه کد کار می کنند مناسب خواهد بود و راهنمای آن ها است. دستور پرینت هیچ وقفه ای در کار نرم افزار ایجاد نمی کند.

دستور return اصلی ترین راه برای برگرداندن یک value در یک تابع یا Function است. تمام Function ها یک مقدار را برمی گرداند و اگر هیچ مقداری در تابع تعریف نشده باشد ، باز هم مقدار None برگردانده می شود. اما ذکر یک نکته در این جا ضروری ست و این همان نکته ای است که باعث گیج شدن مان می شود و احتمالا باعث شده است که این مقاله را بخوانید : این درست است که مقدارهایی که با دستور return بازگردانده می شوند قابل استفاده در توابع بعدی به عنوان argument هستند ، اما همچنان دلیل استفاده از return می تواند با دستور print یکسان باشد. ممکن است یک برنامه نویس پایتون از این دستور برای قابل فهم تر شدن قطعه کد برای سایر برنامه نویسان استفاده نماید و هیچ گاه از مقداری که return می نماید استفاده نکند. حتی این امکان وجود دارد که از return تنها برای بررسی درستی کارکرد Function بهره ببریم.

مثال تفاوت return با print

در پایان به قطعه کد زیر نگاهی بیاندازید و سعی کنید آن را تحلیل نمایید :

def function_that_prints():

    print “I printed”

def function_that_returns():

    return “I returned”

f1 = function_that_prints()

f2 = function_that_returns()

print “Now let us see what the values of f1 and f2 are”

print f1

print f2

print “TechTik.com :)”

5 نظرات
  1. امیررضا می گوید

    مطلب خوب و مفیدی بود ممنون

    1. نوید داریا می گوید

      از اینکه از وب سایت تک تیک بازدید کردید مچکریم.

  2. وحید می گوید

    دوست عزیز return یک تابع نیست یک kayword رزرو شده رد پایتون هست. همچنین print قطعا یک تابع است

    1. نوید داریا می گوید

      در ورژن ۳ فرمایش شما صحیح است. اما تا قبل از نسخه سه print یک statement بود. اگر کمی با Syntax ورژن های قبلی پایتون آشنا شوید قطعا از روی قطعه کدی که به عنوان نمونه نوشته شده متوجه می شدید که در این مقاله درباره کدام نسخه صحبت شده است و تا قبل از تغییرات Syntax در نسخه سه ، print قطعا تابع نبود.
      موفق باشید.

    2. نوید داریا می گوید

      همچنین لینک زیر که مربوط به تغییرات عمده نسخه ۳ می باشد برای مطالعه شما مناسب است :
      https://docs.python.org/release/3.0.1/whatsnew/3.0.html#print-is-a-function
      همچنین به دلیل اینکه در دنیای واقعی هنوز نرم افزارهای بسیار زیادی وجود دارند که بنا به دلایل متفاوت به پایتون ۳ آپگرید نشده اند اگر قصد حرفه ای شدن در یک زبان برنامه نویسی را دارید ، پیشنهاد ما به شما این است که حتما تاریخچه زبان های برنامه نویسی را در نظر داشته باشید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.