পাইথনে if স্টেটমেন্ট ব্যবহার করে নির্দিষ্ট একটি কন্ডিশনের উপর ভিত্তি করে কিছু স্টেটমেন্ট বা কোড ব্লককে রান করানো যায়। যদি একটি কন্ডিশন বা এক্সপ্রেশন সত্য হয় তাহলে এর আওতাভুক্ত স্টেটমেন্ট রান হয়।
উদাহরণ,
if10>5:print("10 greater than 5")# এই স্টেটমেন্টটি if কন্ডিশনের এর আওতাভুক্তprint("IF scope finished")# এই স্টেটমেন্টটিও if কন্ডিশনের এর আওতাভুক্তprint("Program ended")# এই স্টেটমেন্টটি if কন্ডিশনের এর আওতাভুক্ত নয়
আউটপুট,
10 greater than 5IF scope finishedProgram ended
উপরের প্রোগ্রামে if কন্ডিশন দিয়ে চেক করা হচ্ছে 5 এর চেয়ে 10 বড় কিনা। বড় হলে এর ভিতরের দুই লাইন এক্সিকিউট হচ্ছে। যেহেতু এটা সত্য কন্ডিশন। তাই 10 greater than 5 এবং IF scope finished লাইন প্রিন্ট হচ্ছে। আবার, Program ended লাইনটি এসব কন্ডিশন এর বাইরের একটি সাধারণ স্টেটমেন্ট। আর তাই এই লাইনটিও সাধারণভাবেই প্রিন্ট হচ্ছে।
আর হ্যাঁ, এই যে বলা হচ্ছে if স্টেটমেন্টের আওতাভুক্ত বা আওতাভুক্ত নয়, এটি নির্ধারণ হয় indentation তথা স্টেটমেন্টের সামনে যথাযথ হোয়াইট স্পেস ব্যবহার করে। উপরের উদাহরণে if 10 > 5: হচ্ছে কন্ডিশন বা এক্সপ্রেশন। এর নিচের দুই লাইন কিন্তু if এর আওতাভুক্ত কারন এর সামনে indentation বা স্পেস ব্যবহার করে ডান দিকে সরিয়ে নেয়া হয়েছে। অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজে এই কাজটি করা হয়ে থাকে { } ব্যবহার করে। অর্থাৎ নিচের মত,
if(condition){statement}
পাইথনে indentation বাধ্যতামূলক অন্যথায় এরর তৈরি হবে।
উপরের উদাহরণের প্রোগ্রামটির মধ্যে একাধিক indentation এর একাধিক স্টেটমেন্ট লাইন থাকায় পাইথন কনসোলে রান করা যাবে না। স্টেটমেন্ট গুলো নিয়ে একটি পাইথন ফাইল তৈরি করে অতঃপর রান করা যাবে অথবা IDE তে রান করা যাবে।
নেস্টেড if
আউটপুট,
উপরের উদাহরণে, প্রথমে একটি if এক্সপ্রেশন আছে এবং এর আওতাভুক্ত স্টেটমেন্ট এর মধ্যে আরও একটি if এক্সপ্রেশন আছে। প্রথম if কন্ডিশন সত্য হলে যথাযথ ভাবে এর ভিতরের স্টেটমেন্ট রান হয় এবং সেখানে সাধারণ স্টেটমেন্টের মত করেই একটি if এক্সপ্রেশন আছে যেটাও রান হয় তথা এটির সত্যতা নির্ণয় করে পরবর্তী স্টেটমেন্ট রান করে।