تفاوت print و return در پایتون
یکی از سوال هایی که به وفور درباره مفاهیم زبان برنامه نویسی پایتون و برخی دیگر از زبان های برنامه نویسی پرسیده می شود ، این است که تفاوت 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 بهره ببریم.
برخی منابع آموزشی دیگر در رابطه با پایتون :
ویدیو آموزشِ ماشین لرنینگ – کلاسترینگ یا خوشه بندی – مفاهیم و کدنویسی در پایتون، با تدریس دانشجوی مقطع کارشناسی ارشد در رشته اینفورماتیک دانشگاه ملی وین : https://youtu.be/BcV6Cvk8Hqw
ویدیو مقدمات جیسون برای مدیریت شبکه های مبتنی بر سیسکو از طریق زبان برنامه نویسی پایتون : https://youtu.be/fJAp3Zu7eBw
ویدیو Image compression using PCA – Python به زبان انگلیسی : https://youtu.be/wCtLgEZd0Gw
ویدیو محاسبه فاصله بین دو نقطه با متر اقلیدسی با زبان برنامه نویسی پایتون به زبان فارسی : https://youtu.be/b11PFIwANgU
ویدیو آموزش نصب مایکروسافت ویژوال استودیو کد : https://youtu.be/VBWJFBfVdWs
ویدیو نصب انسیبل در ویندوز : https://youtu.be/bu6vth85v6E
مثال تفاوت 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 :)”
اصلا خوب بیان نکردی
useless
خیلی خوب بود ممنون واقعا
ممنون از شما که مقاله رو مطالعه کردید.
دوست عزیز return یک تابع نیست یک kayword رزرو شده رد پایتون هست. همچنین print قطعا یک تابع است
در ورژن ۳ فرمایش شما صحیح است. اما تا قبل از نسخه سه print یک statement بود. اگر کمی با Syntax ورژن های قبلی پایتون آشنا شوید قطعا از روی قطعه کدی که به عنوان نمونه نوشته شده متوجه می شدید که در این مقاله درباره کدام نسخه صحبت شده است و تا قبل از تغییرات Syntax در نسخه سه ، print قطعا تابع نبود.
موفق باشید.
همچنین لینک زیر که مربوط به تغییرات عمده نسخه ۳ می باشد برای مطالعه شما مناسب است :
https://docs.python.org/release/3.0.1/whatsnew/3.0.html#print-is-a-function
همچنین به دلیل اینکه در دنیای واقعی هنوز نرم افزارهای بسیار زیادی وجود دارند که بنا به دلایل متفاوت به پایتون ۳ آپگرید نشده اند اگر قصد حرفه ای شدن در یک زبان برنامه نویسی را دارید ، پیشنهاد ما به شما این است که حتما تاریخچه زبان های برنامه نویسی را در نظر داشته باشید.
مطلب خوب و مفیدی بود ممنون
از اینکه از وب سایت تک تیک بازدید کردید مچکریم.