__import__() دالة import المنخفضة المستوى

آخر تحديث: 2026-09-22

__import__() دالة import المنخفضة المستوى

__import__ هي الدالة التي تستدعيها عبارة import في المستوى المنخفض؛ استخدم عبارة import في الاستخدام اليومي. تُستخدم فقط في سيناريوهات الاستيراد الديناميكي.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثونall

📝 الصياغة

__import__(name, globals=None, locals=None, fromlist=(), level=0)

⚙️ المعاملات

name مطلوبThe module name (string).
globals اختياريThe global namespace dict.(القيمة الافتراضية:None)
locals اختياريThe local namespace dict.(القيمة الافتراضية:None)
fromlist اختياريNames of submodules or attributes to import.(القيمة الافتراضية:())
level اختياريRelative import level; 0 means absolute.(القيمة الافتراضية:0)

القيمة المُعادة:The top-level module object (not the attributes in fromlist).

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

4.0
⚠️ تحذير تحميل أسماء وحدات غير موثوقة ديناميكيًا ينطوي على مخاطر أمنية؛ استخدم import في الاستخدام اليومي.
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qلماذا لا أستدعي __import__() مباشرة بدل جملة import؟
Aتتولى جملة import ربط الأسماء ودلالات fromlist وتفاصيل أخرى؛ __import__() مجرد دالة تنفيذ منخفضة المستوى — استخدم import للاستيراد اليومي.
Qماذا تُرجع __import__('math')؟
Aتُرجع كائن وحدة math. لاحظ أنها تُرجع الوحدة العليا: بالنسبة إلى import a.b تُرجع __import__ الوحدة a لا b.
Qماذا أستخدم للاستيراد الديناميكي؟
Aأفضل استخدام importlib.import_module(name)؛ فهو يُرجع الوحدة المحددة لا العليا، بدلالة أوضح من __import__.
Qهل الاستيراد الديناميكي لاسم وحدة غير موثوق خطر؟
Aنعم — قد يُحمّل وينفّذ كودًا اعتباطيًا؛ عندما يأتي اسم الوحدة من مدخلات مستخدم يجب التحقق منه بدقة ضد قائمة بيضاء.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%