تکنولوژی

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

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

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

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

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

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

زیرساخت پست الکترونیک و پروتکل SMTP

دستور 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 

به روزرسانی فریم ویر iLO3 از طریق فایل bin

مثال تفاوت 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 :)”

۲.۷ ۴۳ رای دادن
رای دادن به مقاله

نوید داریا

Experienced IT Specialist with a demonstrated history of working in the information technology and services industry. Skilled in VMware ESX, Domain Name System (DNS), DHCP, VoIP, Veeam Backup Solutions, Adobe Connect, Servers, and Data Center. Strong operations professional graduated from Amirkabir University of Applied Sciences and Technology. Now I am studying Informatics at Vienna University
اشتراک در
اشاره به موضوع
guest

9 کامنت
جدیدترین
قدیمی ترین نظرات با تعداد رای بالا
Inline Feedbacks
مشاهده همه کامنت ها
محسن
محسن
2 سال پیش

اصلا خوب بیان نکردی

elon musk
elon musk
3 سال پیش

useless

neda
neda
3 سال پیش

خیلی خوب بود ممنون واقعا

وحید
وحید
5 سال پیش

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

امیررضا
امیررضا
5 سال پیش

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

دکمه بازگشت به بالا