কম্পিউটার টিউটোরিয়াল

পাইথন নেমস্পেস প্যাকেজের সব সাবমডিউল ইমপোর্ট করা

সিনট্যাক্স

from myModule import *

এটি myModule-এর সব পাবলিক অবজেক্ট (ফাংশন, ক্লাস, ভেরিয়েবল) করেন্ট নেমস্পেসে আনে।

সমস্যা ও ঝুঁকি

  • নেমস্পেস পলিউশন: অনেক নাম যোগ হয়, কনফ্লিক্ট হয়
  • অপ্রদর্শিত নির্ভরতা: কোড পড়লে বুঝা যায় না কোনো নাম কোথা থেকে
  • রিফ্যাক্টরিং কঠিন: পরে বাদ দেয়া কঠিন, কেননা ব্যবহার ট্র্যাক করা কঠিন
  • পারফরম্যান্স: অপ্রয়োজনীয় অবজেক্ট লোড হয়

সুপারিশকৃত বিকল্প

# স্পষ্ট ইমপোর্ট (সেরা)
from myModule import func1, ClassA

# অথবা মডিউল কвоলিফাইড
import myModule
myModule.func1()

যদি বাধ্য হোন

প্যাকেজের __init__.py-এ __all__ ডিফাইন করুন যাতে কী কী এক্সপোর্ট হবে সেটি নিয়ন্ত্রিত থাকে।

  1. পাইথন মডিউলের সব ফাংশন লিস্ট করা

  2. পাইথন মডিউল সোর্সের লোকেশন খুঁজে বের করা

  3. পাইথনে <code>from...import *</code> স্টেটমেন্টের ব্যবহার

  4. পাইথন মডিউল থেকে একটি ফাংশন ইমপোর্ট করা