میتوانید از محتویات این باکس بگذرید و یکراست به سراغ نوشته اصلی بروید. قبل از خرید اشتراک وفاداری، مزایای آن را از طریق این پیوند مشاهده کنید. لطفا تنها بعد از خواندن «مزایای خرید اشتراک» اقدام به خرید کنید.
اجرای شرطی
برای ساختن برنامههای به درد بخور، معمولا همیشه بایستی از شروط استفاده کنیم. بررسی کنیم که اگر فلان، در نتیجه بیسار و برنامه عکسالعمل و رفتار مناسبی را در مواقع لازم نشان دهد. ولی چگونه؟ گزارههای شرطی به ما این امکان را می دهد.
به یک مثال بسیار ساده از if نگاه کنید:
if x > 0 : print('x is positive')
عبارت بولی بعد از if، شرط خوانده میشود. ما گزارهی if را با کلون یا دو نقطه (:) به پایان میرسانیم و سپس خطوط مربوط به آن شرط را مینویسم. خطوط بعد از if که زیرمجموعهای از آن شرط به حساب میآیند مقداری به سمت داخل میروند (تورفتهاند).
پایتون به این تورفتگیها بسیار حساس است. در اصل شما به این صورت به برنامه میفهمانید که بدنهی if شامل چه کدهاییست. برای ایجاد این تورفتگی حتما بایستی از فاصله یا اسپیس استفاده کنید. یک اشتباه رایج استفاده از Tab برای این کار است که پایتون را گیج میکند. ما برای هر تو رفتگی چهار اسپس را در نظر گرفتهایم؛ البته تعداد اسپیسها کاملا بستگی به خودتان دارد ولی بایستی تمام گزارههای داخل بدنهی if تعداد مشابهی اسپیس داشته باشد. البته وقتی کدی، تو در تو میشود، آن قسمت تو رفته بایستی شامل فاصلههای بیشتری شود که در ادامهی این کتاب به آنها خواهیم پرداخت.
اگر شرطِ منطقی درست باشد، در نتیجه گزارهی تورفته اجرا میشود. در غیر این صورت برنامه از روی آن گزاره پرش میکند.
گزارههای if ساختار مشابهی با حلقه for و یا function definitionها دارند. ولی شاید این سوال برایتان پیش بیاید که function definition چیست؟ در حقیقت function definition چیزی به غیر از یک تابع نیست که برای پایتون توسط شما یا هر کس دیگری تعریف شده است.
اگر گزارههای بعد از شرط، بیش از یک خط باشند، کل بدنهی شرط دو قسمت میشود. بخش اول هدر که خودِ شرطِ منطقیست و با دو نقطه پایان مییابد؛ و بخش دوم گزارههایی که با تورفتگی نسبت به هدر مشخص میشوند. به این گزارهایی که بیش از یک خطند Compound Statements یا گزارههای مرکب میگویند.
محدودیتی برای تعداد گزارههایی که در بدنهی یک شرط منطقی میتواند جای بگیرد وجود ندارد ولی مقدار کمینهی آن یک گزاره است. یعنی بایستی حداقل یک گزاره بعد از شرط ما وجود داشته باشد وگرنه اصلا شرط برای چه؟
البته گاهی لازم است که برای رزرو حالتی یک شرط خالی بنویسید. که در آینده از آن استفاده کنید. پایتون برای رد شدن از این شرط دستور pass را در خود دارد. به مثال زیر نگاه کنید:
if x < 0; pass # need to handle negative values!
اگر شما یک گزارهی شرطی را در مفسر پایتون وارد کنید، خط اعلان به سه نقطه تغییر شکل میدهد. به این صورت پایتون به شما میگوید که در درون یک بلاک از کد قرار دارید. مثال زیر را ببینید (تو رفتگی گزارهی print را فراموش نکنید):
>>> x = 3 >>> if x < 10: ... print('Small') ... Small >>>
اجرای ثانوی
فرم دیگری از گزارهی if فرم اجرای ثانویست. در این صورت «اگر / if» گزارهی شرطی درست نباشد از آن شرط پرش کرده و به «در غیر این صورت / else» رفته و گزارهی مربوط به آن را اجرا میکند. به متن زیر دقت کنید:
if x%2 == 0 : print('x is even') else : print('x is odd')
در مثال بالا اگر باقیماندهی x تقسیم بر ۲ برابر با صفر باشد، شرط محقق شده و گزارهی print(‘x is even’) اجرا میشود، در غیر این صورت (هر اتفاقی بیفتد که شرط محقق نشود) گزارهی print(‘x is odd’) اجرا میشود. به دیاگرام زیر نگاه کنید:
از آنجایی که شرط یا محقق میشود یا نمیشود، یکی از گزارهها اجرا خواهد شد. یا گزارهای که میگوید شرط درست است (اول) یا گزارهای که میگوید «در غیر این صورت» (گزارهی دوم). این حالت، branches یا شاخهها نیز خوانده میشود چرا که در جریان اجرا، برنامه به شاخههای مختلف تقسیم میشود.
این نوشته تحت مجوز کرییتیو کامنز BY – NC و حمایت موسسه تحقیقاتی رامونا ارائه میشود. شما میتوانید با توجه به مفاد این گواهی از آن استفاده کنید.
پاسخ دهید