নেমস্পেস (Namespace)
নেমস্পেস হলো ভেরিয়েবল নাম রেজলভ করার স্কোপ। পাইথনে প্রতিটি প্যাকেজ, মডিউল, ক্লাস, ফাংশন এবং মেথডের নিজস্ব নেমস্পেস থাকে। ফাংশন/মডিউল এক্সিকিউশন শুরু হলে নেমস্পেস তৈরি হয়, শেষ হলে ড্রপ হয়। একটি গ্লোবাল নেমস্পেসও থাকে।
মডিউল (Module)
- পাইথন কোড ধারণকারী ফাইল (
.pyএক্সটেনশন) - পুনরব্যবহারযোগ্য কোড এনক্যাপসুলেট করে
importকীওয়ার্ড দিয়ে ইমপোর্ট করা হয়- ফাংশন এবং ক্লাস দুটোই থাকতে পারে
__init__.pyফাইলসহ ফোল্ডারে থাকে (প্যাকেজ)
ক্লাস (Class)
- অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের মূল
- প্রোপার্টি (অ্যাট্রিবিউট) এবং মেথড ধারণ করে
- একই ক্লাসের একাধিক ইনস্ট্যান্স তৈরি করা যায়
- মডিউলের মতো ইমপোর্ট করা যায়, কিন্তু ইনস্ট্যান্সিয়েট করা যায়
তুলনা সারণী
| ফিচার | মডিউল | ক্লাস | নেমস্পেস |
|---|---|---|---|
| ইনস্ট্যান্সিয়েশন | না | হ্যাঁ | N/A |
| স্টেট ধারণ | গ্লোবাল ভেরিয়েবল | ইনস্ট্যান্স ভেরিয়েবল | স্কোপ-ভিত্তিক |
| ইমপোর্ট | import module | from module import Class | অ্যাপ্লিকেবল নয় |
| উদ্দেশ্য | কোড সংগঠন | OOP, অবজেক্ট মডেলিং | নেম রেজলুশন |
অনুরূপতা
মডিউলকে স্ট্যাটিক ক্লাস বা সিঙ্গলটন হিসেবে তুলনা করা যায়, কারণ এর একটিমাত্র ইনস্ট্যান্স থাকে (সিস্টেম মডিউল ক্যাশে)।