কন্ডিশনাল একটি স্ক্রিপ্টকে সিদ্ধান্ত নিতে দেয় — প্রোগ্রামিং পরিচিতি-তে শেখা একই ধারণা, Python-এর ইনডেন্টেশন-ভিত্তিক সিনট্যাক্স আর কন্ডিশনের চারপাশে কোনো বন্ধনী ছাড়াই।
score = 72
if score >= 90:
print("Grade: A")
elif score >= 75:
print("Grade: B")
elif score >= 60:
print("Grade: C")
else:
print("Grade: F")Python মাঝের কেসটাকে elif বলে — elseif নয় আর দুই শব্দের else if-ও নয়। Python-এর সিনট্যাক্সে অভ্যস্ত হওয়ার সময় এটি সবচেয়ে সাধারণ টাইপোগুলোর একটি।
অনেক অন্য ভাষার মতো Python-এ কোনো switch স্টেটমেন্ট নেই (একটি প্রকৃত match স্টেটমেন্ট Python 3.10-এ যোগ হয়েছিল, কিন্তু একটি লম্বা elif চেইন এটি লেখার বেশি সাধারণ, পোর্টেবল উপায়):
day = "Mon"
if day in ("Mon", "Tue", "Wed", "Thu", "Fri"):
print("Weekday")
elif day in ("Sat", "Sun"):
print("Weekend")
else:
print("Not a valid day")in (...) — একটি মান কয়েকটির মধ্যে একটি কিনা চেক করা — একটি মানকে অপশনের একটি তালিকার বিপরীতে চেক করার idiomatic Python উপায়।
একটি সংক্ষিপ্ত এক-লাইনের if/else, মাঝে কন্ডিশন বসিয়ে:
age = 20
status = "adult" if age >= 18 else "minor"
print(status) # "adult"Python-এর truthy/falsy নিয়মের কারণে (Type Conversion পাঠ থেকে), একটি লিস্ট বা স্ট্রিং খালি কিনা চেক করতে খুব কমই একটি length চেকের দরকার হয়:
items = []
if items:
print("Has items")
else:
print("Empty") # this runs — an empty list is falsy:= — একজোড়া চোখ আর দাঁতের সাথে মিল থাকার কারণে walrus operator নামে ডাকা হয় — একই এক্সপ্রেশনে একটি মান assign করে আর সেটা রিটার্ন করে, Python 3.8-এ যোগ হয়েছে। এর সবচেয়ে সাধারণ ব্যবহার হলো একই জিনিস দুইবার কল করা এড়ানো:
# Without the walrus — calling len() twice:
names = ["Priya", "Amit", "Sara"]
if len(names) > 2:
print(f"{len(names)} names")
# With the walrus — computed once, used twice:
if (count := len(names)) > 2:
print(f"{count} names")এটি একটি ছোট সুবিধা, ক্রমাগত দরকার হওয়া কোনো ফিচার নয় — একটি if কন্ডিশন আর তার body-তে একই মান নাহলে দুইবার হিসাব হতো এমন ক্ষেত্রে এটার দিকে যান।