منع الاستيراد الدائري في بايثون
في بايثون، يمكن أن تؤدي الواردات الدائرية، حيث تعتمد الوحدات على بعضها البعض للحصول على التعريفات، إلى أخطاء في وقت التشغيل. على الرغم من أنه يوصى عمومًا بإعادة تصميم التعليمات البرمجية لتجنب التبعيات الدائرية، إلا أن هناك حالات يكون من الضروري معالجتها.
الواردات المطلقة
في الحالات التي تتضمن فيها الواردات الدائرية استيراد الوحدات النمطية ، يجب استخدام الواردات المطلقة. يتضمن ذلك تحديد مسار الوحدة بالكامل، مما يضمن نجاح الاستيراد بغض النظر عن مكان وضعها في قاعدة التعليمات البرمجية.
تأجيل الواردات
هناك طريقة أخرى تتمثل في تأجيل الواردات حتى يتم ذلك. هناك حاجة فعلا داخل التعليمات البرمجية. من خلال تحديد الوظائف أو كتل التعليمات البرمجية التي تتعامل مع الاستيراد، يمكنك تجنب مشكلات الاستيراد الدائري في المستوى الأعلى من الوحدة.
وحدة الاستيراد المركزية
في الاستيراد المركزي (عادةً ما يكون الملف __init__.py الموجود في حزمة أو مجلد)، يمكن أن تكون جميع عمليات الاستيراد الضرورية مركزية. ومع ذلك، قد يؤدي هذا النهج إلى بيانات استيراد طويلة ومزدحمة.
إعادة تنظيم التعليمات البرمجية
إذا نشأت التبعية الدائرية من كائنات داخل وحدات تشير إلى بعضها البعض، فقد تكون إعادة تنظيم التعليمات البرمجية يكون ضروريا. عن طريق نقل المراجع داخل الوظائف أو كتل التعليمات البرمجية، يمكن حل مشكلات الاستيراد.
مثال
فكر في سيناريو حيث ترغب الفئتان A وB في الإشارة إلى كل منهما حالات الآخرين. بدلاً من تعريفها في وحدات منفصلة، فكر في وضع تعريفات الفئتين داخل وحدة نمطية واحدة. وبدلاً من ذلك، إذا كانت قابلية التغيير مثيرة للقلق، فيمكنك إنشاء نسخة غير قابلة للتغيير من الفئة التي يمكن استخدامها بشكل منفصل دون تقديم تبعيات دائرية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3