"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन में सर्कुलर आयात को कैसे रोकें?

पायथन में सर्कुलर आयात को कैसे रोकें?

2024-11-13 को प्रकाशित
ब्राउज़ करें:735

How to Prevent Circular Imports in Python?

पायथन में सर्कुलर आयात रोकथाम

पायथन में, सर्कुलर आयात, जहां मॉड्यूल परिभाषाओं के लिए एक-दूसरे पर निर्भर होते हैं, रनटाइम त्रुटियों का कारण बन सकते हैं। हालांकि आम तौर पर सर्कुलर निर्भरता से बचने के लिए कोड को फिर से डिज़ाइन करने की सिफारिश की जाती है, ऐसे उदाहरण हैं जहां उन्हें संबोधित करना आवश्यक है।

पूर्ण आयात

ऐसे मामलों में जहां सर्कुलर आयात में मॉड्यूल आयात करना शामिल है , पूर्ण आयात का उपयोग किया जाना चाहिए। इसमें संपूर्ण मॉड्यूल पथ को निर्दिष्ट करना शामिल है, यह सुनिश्चित करना कि आयात सफल है, भले ही इसे कोडबेस के भीतर कहीं भी रखा गया हो। वास्तव में कोड के भीतर आवश्यक हैं। आयात को संभालने वाले फ़ंक्शंस या कोड ब्लॉक को परिभाषित करके, आप मॉड्यूल के शीर्ष स्तर पर परिपत्र आयात मुद्दों से बच सकते हैं।

केंद्रीय आयात मॉड्यूल

एक केंद्रीय आयात में मॉड्यूल (आमतौर पर पैकेज या फ़ोल्डर में __init__.py फ़ाइल), सभी आवश्यक आयात केंद्रीकृत किए जा सकते हैं। हालाँकि, यह दृष्टिकोण लंबे और अव्यवस्थित आयात विवरणों को जन्म दे सकता है। आवश्यक होना। फ़ंक्शंस या कोड ब्लॉक के अंदर संदर्भों को स्थानांतरित करके, आयात मुद्दों को हल किया जा सकता है।

उदाहरण

एक ऐसे परिदृश्य पर विचार करें जहां दो वर्ग, ए और बी, प्रत्येक को संदर्भित करना चाहते हैं अन्य के उदाहरण. उन्हें अलग-अलग मॉड्यूल में परिभाषित करने के बजाय, दोनों वर्ग परिभाषाओं को एक ही मॉड्यूल में रखने पर विचार करें। वैकल्पिक रूप से, यदि अपरिवर्तनीयता एक चिंता का विषय है, तो आप वर्ग का एक अपरिवर्तनीय संस्करण बना सकते हैं जिसे परिपत्र निर्भरताओं को पेश किए बिना अलग से उपयोग किया जा सकता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3