পাইথনের শর্তাধীন বিবৃতির জন্য সেরা অনুশীলনসমূহ
এই প্রবন্ধটি পাইথনে শর্তাধীন বিবৃতির জন্য সেরা অনুশীলনসমূহ ব্যাখ্যা করে।
YouTube Video
পাইথনের শর্তাধীন বিবৃতির জন্য সেরা অনুশীলনসমূহ
পাইথনে if বিবৃতি একটি মৌলিক গঠন শর্তাধীন শাখা বাস্তবায়ন করার জন্য এবং এটি কোডের পড়ার যোগ্যতা ও রক্ষণাবেক্ষণে বড় প্রভাব ফেলে। এখানে, আমরা if বিবৃতির ব্যবহার নিয়ে বিশদভাবে সেরা অনুশীলনসমূহ আলোচনা করব।
স্পষ্ট শর্তাধীন অভিব্যক্তি ব্যবহার করুন
অপ্রয়োজনীয় বাক্যাংশ এড়িয়ে, শর্তগত এক্সপ্রেশন সংক্ষিপ্ত ও স্পষ্টভাবে লিখুন।
1condition = True
2
3### Bad Example
4if condition == True:
5 pass
6
7### Good Example
8if condition:
9 pass- পাইথনে, আপনি
if condition:লিখে একটি শর্ত সত্য বোঝাতে পারেন।
একাধিক শর্তের সংমিশ্রণ
যখন একাধিক শর্তের সংমিশ্রণ করবেন, তখন and অথবা or ব্যবহার করুন। তবে, যখন শর্তাধীন অভিব্যক্তি জটিল হয়ে যায়, তখন পড়ার যোগ্যতা কমে যেতে পারে, তাই নিম্নলিখিত সমন্বয় বিবেচনা করুনঃ।
1age = 15
2is_student = True
3
4### Bad Example
5# Complex condition
6if (age > 18 and age < 65) or (is_student and age > 15):
7 pass
8
9### Good Example
10# Improving readability
11is_working_age = 18 < age < 65
12is_eligible_student = is_student and age > 15
13
14if is_working_age or is_eligible_student:
15 pass- শর্তগুলোকে বিভক্ত করে এবং তাদের ভেরিয়েবলে নির্ধারণ করে পড়ার যোগ্যতা উন্নত করা যেতে পারে।
and/or শর্ট-সার্কিট মূল্যায়ন
and বা or-সহ শর্তযুক্ত এক্সপ্রেশনে, যদি শুধুমাত্র বাম পাশে থাকা মান দ্বারা ফল নির্ধারণ করা যায়, তাহলে শর্ট-সার্কিট মূল্যায়ন ঘটে এবং ডান পাশের এক্সপ্রেশন মূল্যায়িত হয় না। এটি বোঝার মাধ্যমে আপনি অপ্রয়োজনীয় প্রসেসিং এড়াতে এবং ভুল প্রতিরোধ করতে পারবেন।
1user = None
2def expensive_check():
3 return True
4
5# Example of short-circuiting with 'and'
6if user and user.is_active:
7 # If user is None, user.is_active will NOT be evaluated
8 print("Active user found.")
9
10# Example of short-circuiting with 'or'
11if user.is_admin or expensive_check(user):
12 # If user.is_admin is True, expensive_check will NOT be called.
13 print("Access granted.")
14else:
15 print("Access denied.")- শর্ট-সার্কিট মূল্যায়ন ব্যবহার করে আপনি প্রসেসিং দক্ষতা এবং নিরাপত্তা বাড়াতে পারবেন।
and এবং or-এর প্রাধান্য
and-এর প্রাধান্য or-এর চেয়ে বেশি। সুতরাং, অসতর্কভাবে শর্ত একত্রিত করলে আপনি অনাকাঙ্ক্ষিত ফলাফল পেতে পারেন। আপনার উদ্দেশ্য পরিষ্কার করতে বন্ধনী ব্যবহার করা গুরুত্বপূর্ণ।
1age = 15
2is_student = True
3
4### Unclear example
5# This is interpreted as: age > 18 and (age < 65 or is_student)
6if age > 18 and age < 65 or is_student:
7 pass
8
9### Clear example
10# Explicit parentheses make the intended logic obvious
11if (age > 18 and age < 65) or is_student:
12 pass- বন্ধনী ব্যবহার করে আপনি
andএবংor-এর প্রাধান্য স্পষ্ট করতে পারবেন এবং অনাকাঙ্ক্ষিত বাগের ঝুঁকি কমাতে পারবেন।
Truthy এবং Falsy বোঝা
পাইথনে, নিম্নলিখিত মানগুলোকে False হিসেবে বিবেচিত হয়ঃ।
কোনোটা নয়মিথ্যা- সংখ্যা
0(যেমন0.0সহ) - ফাঁকা সিকোয়েন্স টাইপ (যেমন ফাঁকা তালিকা, টাপল বা স্ট্রিং)
- উদাহরণ:
[],(),""
- উদাহরণ:
- ফাঁকা ডিকশনারি
- উদাহরণ:
{}
- উদাহরণ:
এটি সঠিকভাবে ব্যবহার করে আপনি আপনার শর্তাধীন অভিব্যক্তি সহজ করতে পারেন।
1items = [1, 2, 3]
2
3### Bad Example
4if len(items) > 0:
5 pass
6
7### Good Example
8if items:
9 passelif এবং else এর সঠিক ব্যবহার
যখন একাধিক শর্ত মূল্যায়ন করবেন, তখন elif ব্যবহার করুন। শেষে একটি ডিফল্ট আচরণ নির্ধারণ করতে else ব্যবহার করুন।
1score = 80
2
3if score >= 90:
4 grade = "A"
5elif score >= 80:
6 grade = "B"
7elif score >= 70:
8 grade = "C"
9else:
10 grade = "F"elseবাধ্যতামূলক নয়। যদি সমস্ত শর্ত পূরণ হয়, তবে এটি এড়ানো যেতে পারে।- শর্তগত অভিব্যক্তিগুলির ক্রমের প্রতি মনোযোগ দিন এবং অযথা পুনরাবৃত্তি ছাড়াই সেগুলি যৌক্তিকভাবে সাজান।
নেস্টিংয়ের গভীরতা সীমাবদ্ধ করুন।
if স্টেটমেন্টের গভীর নেস্টিং কোড পড়তে কঠিন করে তোলে।
1def access_resource():
2 return True
3
4### Bad Example
5def deep_nest(user, resource):
6 if user.is_authenticated:
7 if user.has_permission:
8 if resource.is_available:
9 access_resource()
10
11### Good Example
12def early_return(user, resource):
13 if not user.is_authenticated:
14 return
15 if not user.has_permission:
16 return
17 if not resource.is_available:
18 return
19
20 access_resource()- প্রারম্ভিক রিটার্ন ব্যবহার করলে নেস্টিং কমানো যায় এবং কোড আরও সংক্ষিপ্ত হয়।
এক-পঙক্তির if স্টেটমেন্ট ব্যবহার এড়িয়ে চলুন।
একটি লাইনে if স্টেটমেন্ট লেখা সম্ভব, তবে এতে পঠনযোগ্যতা কমে যেতে পারে।
1condition = False
2def do_something():
3 return True
4
5### Bad Example
6if condition: do_something()
7
8### Good Example
9if condition:
10 do_something()- সংক্ষিপ্ত শর্ত বা কাজের জন্য সিঙ্গেল লাইনে if স্টেটমেন্ট ব্যবহার করা যেতে পারে, তবে অতিরিক্ত বিশদ কোড লেখা এড়ান।
টারনারি অপারেটর বা or দিয়ে সরলীকরণ
সরল শর্তযুক্ত শাখার জন্য, টারনারি অপারেটর বা or ব্যবহার করলে আপনার কোড আরও সংক্ষিপ্ত হতে পারে। তবে এগুলোর অতিরিক্ত ব্যবহার কোড পড়া কঠিন করে তুলতে পারে, তাই শুধুমাত্র সহজ ও বোধ্য শর্তের জন্যই এগুলো ব্যবহার করা উচিত।
1is_admin = True
2input_name = None
3
4# Regular if statement
5if is_admin:
6 role = "Administrator"
7else:
8 role = "User"
9
10# Simplified using an inline if
11role = "Administrator" if is_admin else "User"
12
13# Use 'or' to provide a default value
14name = input_name or "Guest"- সরল শর্তের ক্ষেত্রে, টারনারি অপারেটর বা
orব্যবহার করলে আপনার কোড আরও ছোট ও সহজবোধ্য হবে।
শর্তযুক্ত অভিব্যক্তিগুলির ক্যাশিং।
অধিক পরিমাণে গণনা বা ফাংশন কল জড়িত শর্তযুক্ত অভিব্যক্তিগুলিকে ভেরিয়েবলে ক্যাশ করা যেতে পারে কর্মক্ষমতা উন্নত করার জন্য।
1def expensive_function():
2 pass
3
4def another_expensive_function():
5 pass
6
7### Bad Example
8if expensive_function() and another_expensive_function():
9 pass
10
11### Good Example
12result1 = expensive_function()
13result2 = another_expensive_function()
14if result1 and result2:
15 passসারসংক্ষেপ
Python-এর if স্টেটমেন্টগুলি সহজ এবং শক্তিশালী সরঞ্জাম, তবে ভুল ব্যবহারে কোড জটিল এবং পড়তে কঠিন হয়ে উঠতে পারে। এখানে উল্লিখিত সেরা অনুশীলনগুলি গ্রহণ করে, আপনি আপনার কোডের পড়নযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা এবং দক্ষতা উন্নত করতে পারেন।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।