رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم متوسط ۷ دقیقه

واردات و فضاهای نام

سبک‌های import، واردات مطلق در برابر نسبی، trap واردات چرخه‌ای و نقش __init__.py.

تعریف فضای نام

نگاشتِ نام به شیء؛ هر ماژول، کلاس و تابع فضای نام خودش را دارد و import پلی بین آن‌هاست.

import shop.cart              # shop.cart.total — صریح و امن
from shop.cart import total   # total — کوتاه ولی خطر تداخل

دو دام بزرگ: (۱) واردات چرخه‌ای (A از B وارد می‌کند و B از A) → بازطراحی کن: منطق مشترک را به ماژول سوم ببر؛ (۲) اجرای کدِ سطح ماژول موقع import → کارِ واقعی را داخل تابع و پشت نگهبان __main__ نگه دار. __init__.py مرز پکیج است: رابط عمومی را همان‌جا صادر کن تا کاربران به فایل‌های داخلی خزیده نشوند.

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای واردات و فضاهای نام