اضافه کردن خطوط کد به تابع پایتون
اضافه کردن خطوط کد به تابع پایتون بعد از هر مرحله تغییر،تابع را دوباره آزمایش می کنیم. اگر خطایی در هر لحظه رخ دهد، ما میدانیم که مشکل در چه قسمتی است_ درخطی که اخیراًاضافه شده_.
اولین گام منطقی در محاسبه، پیدا کردن تفاضل هایx2-x1 و y2-y1 است.
ما این مقادیر را در متغیر های موقتی به نامdx و dyذخیره می کنیم و آن ها را چاپ می نماییم:
اگر تابع کار می کند، خروجی باید ۳و۴( البته مقدار برگشتی۰٫۰ ) باشد.
صورت ما میفهمیم که تابع پارامترها را به درستی دریافت کرده و اولین محاسبه را به طور صحیح انجام داده است.
در غیر این صورت تنها چند خط برای بررسی وجود دارد.
سپس مجموعه مجذورات dx وdyرا محاسبه می کنیم:
دقت کنید که ما دستورprint را که در مرحله قبل نوشته بودیم, حذف کرده ایم. کد هایی شبیه به این را داربست می نامند زیرا در ساختن برنامه مفیدند اما در نتیجه نهایی وجود ندارند.
در این مرحله مجدداً برنامه را اجرا می کنیم و خروجی را( که باید۲۵ باشد) بررسی می کنیم.
در نهایت اگر ماژولmath را وارد کرده باشیم, میتوانیم از تابع sqrt جهت محاسبه و برگرداندن نتیجه استفاده کنیم.
اگر برنامه کار کند, کار شما تمام است.
در غیر این صورت می توانید مقدارresult را قبل از دستورreturn چاپ کنید.
وقتی که شروع به نوشتن برنامه می کنید, در هر مرحله باید تنها یک یا دو خط کد را اضافه نمایید.
هنگامی که تجربه بیشتری به دست آوردید, میتوانید قطعات کد بزرگترین را بنویسیدو اشکال زدایی کنید.
از این طریق فرآیند توسعه افزایش می تواند تا حد زیادی از اتلاف وقت در اشکالزدایی جلوگیری کند.
نکات کلیدی این فرایند در زیر آمده است:
. با یک برنامه مقدماتی کار را آغاز کنید و گام به گام تغییرات کوچکی را به وجود آورید.
در حل اگر خطا وجود داشته باشد شما از محل وقوع آن خطا مطلع خواهید شد.
. جهت نگهداری مقادیر واسطه از متغیرهای موقتی استفاده کنید.
بدین صورت شما میتوانید آنرا در خروجی چاپ و بررسی کنید.
همین که دیدید برنامه کار می کند، میتوانید داربستها را حذف کنید یا دستورات چندگانه را در عبارت مرکب ادغام نمایید، اما تنها در صورتی که خواندن برنامه دچار تر نشود.
ترکیب در پایتون
همانطور که اکنون باید انتظار داشته باشید، شما می توانید یک تابع راحت درون تابه دیگر فراخوانی کنید، این توانایی ترکیب نامیده می شود.
برای مثال، ما تابع خواهیم نوشت که مرکز یک دایره و نقطه ای روی محیط آن را بگیرد و با استفاده از این دو نقطه مساحت دایره را محاسبه کند.
فرض کنید مختصات نقطه مرکزی در دو متغیرxcو ycو مختصات نقطه محیطی در متغیرهایxpوyp ذخیره شده است.
گام اول پیدا کردن شعاع دایره است که برابر با فاصله دو نقطه می باشد.
خوشبختانه تابعی به نامdistanc داریم که این کار را انجام می دهد:
گام دوم یافتن مساحت با استفاده از این شعاع و بازگرداندن آن است:
از ادغام این دستورات درون این تابع داریم:
ما این تابع را area2 نامیدیم تا بتوانیم آن را از تابعarea( که قبلاً آن را تعریف کردهایم) تمیز داد.
در یک ماژول مشخص تنها یک تابع با یک نام معین می تواند وجود داشته باشد.
متغیر های موقتیradiusوresult جهت توسعه و اشکال زدایی برنامه مفیدند, اما همین که برنامه کار کرد میتوانیم آن را با ترکیب فراخوانی های تابع خلاصه تر کنیم:
توابع بولی در پایتون
توابع می توانند مقادیر و بولی را بازگردانند که اغلب برای مخفی کردن محاسبات آزمایشی پیچیده درون توابع مناسب است، برای مثال:
نام این تابع isdivisible می باشد.
معمول است که نام توابع بولی را چیزی شبیه به سوالات بلی/خیر انتخاب کنند.تابعisdivisible یکی از دو مقدار۱یا۲ را بر می گرداند تا نشان دهدx برy بخش پذیر است یا خیر.
ما میتوانیم با استفاده از این واقعیت که دستور شرطیif خود یک عبارت بولی است, تابع را فشرده تر سازیم و بدون استفاده از دستورif مستقیماآن را برگردانیم:
این بخش رفتار تابع جدید را نشان می دهد:
توابع بولی اغلب در دستورات شرطی استفاده می شوند
… ممکن است شما را به نوشتن کد شبیه به این وسوسه کند:
اما مقایسه زائد لازم نیست.
نویسنده : زهرا رستمی