مقادیر برگشتی در زبان پایتون کدامند ؟ توضیح دهید.
مقادیر برگشتی در زبان پایتون کدامند ؟ توضیح دهید.
مقادیر برگشتی در زبان پایتون کدامند ؟ توضیح دهید.
برخی از توابع پیشساخته را که تاکنون استفاده کردهایم، همچون توابع ریاضی نتایجی را تولید کردهاند. فراخوانی تابع، مقدار جدیدي تولید میکند که ما معمولاً به یک متغیر نسـبت مـیدهـیم و یـا به عنوان قسمتی از یک عبارت بهکار میبریم.
e = math.exp(1.0)
height = radius * math.sin(angle)
اما هیچکدام از توابعی که نوشتهایم، تاکنون مقداري را باز نگرداندهاند. در این فصل، ما قصد داریم توابعی بنویسـیم کـه مقـادیري را بازگرداننـد و آنهـا را توابـع نتیجـهدار مینامیم. اولین مثال، تابع مساحت است که با گرفتن شعاع یک دایره، مساحت آن را برمیگرداند:
import math
def area(radius):
temp = math.pi * radius**2
return temp
ما قبلاً با دستور return برخورد کردهایم، اما در یک تـابع نتیجـهدار دسـتور return شـامل یـک مقدار برگشتی است. این دستور یعنی: «فوراً از این تابع برگرد و از عبارتی که در ادامه آمده اسـت بـه عنوان مقدار برگشتی استفاده کن.» عبارتی که ارائه میشود میتواند تا هر مقدار دلخواه پیچیده باشـد. بنابراین میتوانیم این تابع را خلاصهتر بنویسیم:
(:def area(radius
return math.pi * radius**2
از سوي دیگر، متغیرهاي موقتی همچون temp عیبیابی را سادهتر میسازد. اسـتفاده از چنـد دسـتور return بهطوري که هر کدام در یک شاخه قرار گیرد، در بعضی مواقع مفید است:
(def absoluteValue(x
if x < 0:
return -x
else:
return x
از آنجا که این دستورات return در یک گزارة شرطی دوگانه قرار دارند، تنها یکی از آنها اجرا میشود. به محض اینکه یکی اجرا شود، تابع بدون اجراي دستورات زیرین پایان مییابد. کدي که بعد از دستور return) یا هر مکانی که روند اجرا نمیتواند هیچگاه به آن برسد) قرار گیـرد، کد مرده نامیده میشود. در یک تابع نتیجهدار بهتر است مطمئن شویم که تمام مسیرهاي ممکن برنامه به یـک دسـتور return ختم شدهاند. براي مثال:
(def absoluteValue(x:
if x < 0:
return -x
elif x > 0:
return x
این برنامه صحیح نیست، زیرا اگر x صفر باشد هیچکدام از شرطها درست نیست و تـابع بـدون رسیدن به دستور return پایان مییابد. در این صورت، مقدار برگشتی، مقدار ویـژهاي بـهنـام None میباشد:
>> print absoluteValue(0)
None
تمرین 5-1 :یک تابع مقایسهاي به نام compare بنویسید که اگر y>x ، 1 ، اگـر y==x ، 0 و اگر y<x باشد، 1 -را برگرداند.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید