📋 Table of Contents
যদি আপনি Python কোড লিখে থাকেন বা Python স্ক্রিপ্ট পড়ে থাকেন, তাহলে সম্ভবত আপনি রহস্যময় লাইনটি দেখেছেনif __name__ == "__main__":. এই প্যাটার্নটি অসংখ্য Python প্রোগ্রামে দেখা যায়, তবুও অনেক শিক্ষার্থী এটিকে বিভ্রান্তিকর মনে করেন। চলুন এই গুরুত্বপূর্ণ Python রীতিটি স্পষ্ট করি।
যদি আপনি Python কোড লিখে থাকেন বা Python স্ক্রিপ্ট পড়ে থাকেন, তাহলে সম্ভবত আপনি রহস্যময় লাইন if __name__ == “__main__”: দেখেছেন। এই প্যাটার্নটি অসংখ্য Python প্রোগ্রামে…
এটি আসলে কী করে?
এইif __name__ == "__main__":statement পরীক্ষা করে যে একটি Python স্ক্রিপ্ট সরাসরি চালানো হচ্ছে নাকি অন্য একটি স্ক্রিপ্টে module হিসেবে import করা হচ্ছে। যখন Python একটি ফাইল চালায়, তখন এটি একটি বিশেষ variable সেট করে যার নাম__name__এই variable-এর value নির্ভর করে code কীভাবে execute করা হচ্ছে তার উপর।
__name__ বোঝা

🎨 AI Generated: Understanding __name__
এখানে মূল concept:
- যখন আপনি একটি Python file সরাসরি run করেন (উদাহরণস্বরূপ,
python script.py), Python set করে__name__to"__main__" - যখন আপনি সেই ফাইলটি অন্য একটি script-এ module হিসেবে import করেন, তখন Python সেট করে
__name__module-এর নামে (filename যেটি .py ছাড়া)
একটি ব্যবহারিক উদাহরণ
চলুন একটি সুনির্দিষ্ট উদাহরণ দেখি। একটি ফাইল তৈরি করুন যার নামcalculator.py:
python
def add(a, b): return a + b def subtract(a, b): return a - b if __name__ == "__main__": print("Running calculator.py directly") result = add(5, 3) print(f"5 + 3 = {result}")
যখন আপনি এই ফাইলটি সরাসরি চালানpython calculator.py, আপনি দেখবেন:
code
calculator.py সরাসরি চালানো 5 + 3 = 8
তবে, যদি আপনি এই module টি অন্য একটি file এ import করেন:
python
import calculator result = calculator.add(10, 20) print(result)
এর ভিতরেরif __name__ == "__main__":block এর code execute হবে না। আপনি শুধুমাত্র দেখবেন30as output, not the “Running calculator.py directly” message.
এটি কেন উপयोगी?

🎨 AI Generated: Why Is This Useful?
This pattern provides several important benefits:
1. Code Reusability
You can write functions and classes that can be both imported and run standalone. This makes your code more modular and reusable.
2. Testing and Debugging
You can include test code or example usage within theif __name__ == "__main__":block that runs when you execute the file directly, but doesn't interfere when the module is imported.
3. Script বনাম Module নমনীয়তা
একটি একক Python ফাইল দ্বৈত উদ্দেশ্য পূরণ করতে পারে: একটি importable library হিসাবে এবং একটি executable script হিসাবে।
সাধারণ ব্যবহারের ক্ষেত্র
Unit Tests চালানো
python
def process_data(data): return [x * 2 for x in data] if __name__ == "__main__": test_data = [1, 2, 3, 4, 5] result = process_data(test_data) assert result == [2, 4, 6, 8, 10] print("সমস্ত tests পাস হয়েছে!")
Command-Line Interface
python
import sys def main(): if len(sys.argv) > 1: filename = sys.argv[1] process_file(filename) else: print("ব্যবহার: python script.py") if __name__ == "__main__": main()
উদাহরণ প্রদর্শন
python
class DataProcessor: def __init__(self, data): self.data = data def process(self): return sum(self.data) if __name__ == "__main__": processor = DataProcessor([1, 2, 3, 4, 5]) print(f"Sum: {processor.process()}")
Best Practices

🎨 AI Generated: Best Practices
এই প্যাটার্ন ব্যবহার করার সময় এখানে কিছু সুপারিশ রয়েছে:
- এটি পরিষ্কার রাখুন:মূল এক্সিকিউশন লজিক একটি
main()ফাংশনে রাখুন এবং এটিকেif __name__ == "__main__":ব্লক থেকে কল করুন - পরীক্ষার জন্য ব্যবহার করুন:আপনার module কীভাবে কাজ করে তা প্রদর্শন করতে সরল টেস্ট বা উদাহরণ ব্যবহার অন্তর্ভুক্ত করুন
- সর্বদা এটি অন্তর্ভুক্ত করুন:এমনকি যদি আপনি মনে করেন না যে আপনি ফাইলটি import করবেন, তবুও এই pattern ব্যবহার করা ভাল অনুশীলন
- আচরণ নথিভুক্ত করুন:comments যোগ করুন যা ব্যাখ্যা করে যে script সরাসরি চালানো হলে কী করে
উপসংহার
এইif __name__ == "__main__":এই pattern হল একটি মৌলিক Python idiom যা সরাসরি একটি file execute করার সময় চালানোর জন্য নির্ধারিত code কে এমন code থেকে পৃথক করে যা importable functionality সংজ্ঞায়িত করে। এই ধারণাটি বোঝা আপনাকে আরও professional, পুনর্ব্যবহারযোগ্য Python code লিখতে এবং আপনার সম্মুখীন হওয়া Python programs গুলিকে আরও ভালভাবে বুঝতে সাহায্য করবে।
পরের বার যখন আপনি Python code এ এই লাইনটি দেখবেন, আপনি ঠিক জানবেন এটি কী করছে: এটি পরীক্ষা করছে যে script টি মূল program কিনা নাকি module হিসাবে import করা হচ্ছে, এবং সেই অনুযায়ী code execute করছে।
🚀 Tech জগতে এগিয়ে থাকুন
প্রতিদিন প্রযুক্তিগত অন্তর্দৃষ্টি, সৎ পর্যালোচনা এবং ব্যবহারিক গাইড পান।
🔗 Share this article
✍️ Leave a Comment