Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में निरपेक्ष और सापेक्ष आयात

कई बार जब हम पायथन कोड बनाते हैं तो हम पाते हैं कि हमें किसी अन्य पायथन फ़ाइल या पैकेज से कोड एक्सेस करने की आवश्यकता है। यह तब होता है जब आपको उस अन्य पायथन फ़ाइल या पैकेज को अपने वर्तमान कोड में आयात करने की आवश्यकता होती है। तो इसे प्राप्त करने का सीधा तरीका आपके वर्तमान पायथन प्रोग्राम के शीर्ष पर नीचे दिया गया कथन है।

import package_name or module_name
or
from pacakge_name import module_name/object_name

जब उपरोक्त कथन को पार्स किया जाता है तो दुभाषिया निम्नलिखित कार्य करता है।

  • दुभाषिया उन सभी मॉड्यूल के कैश में नामों की तलाश करेगा जो पहले ही आयात किए जा चुके हैं। sys.modules में इस कैशे मॉड्यूल का नाम।

  • यदि उपरोक्त चरण में नहीं मिलता है तो दुभाषिया इसे अंतर्निर्मित मॉड्यूल की सूची में खोजेगा। ये मॉड्यूल पायथन मानक पुस्तकालयों का हिस्सा हैं।

  • यदि यह अभी भी ऊपर चरण -2 में नहीं मिला है, तो दुभाषिया sys.path में परिभाषित निर्देशिकाओं की सूची में संकुल या मॉड्यूल नामों की खोज करेगा, जिसमें खोज की जाने वाली पहली निर्देशिका के रूप में वर्तमान निर्देशिका है।

  • उपरोक्त चरणों में से किसी एक में उन्हें एक आयातित मॉड्यूल के रूप में खोजने पर, पैकेज या मॉड्यूल का नाम वर्तमान कार्यक्रम के स्थानीय दायरे के लिए बाध्य है।

  • यदि पैकेज या मॉड्यूल कभी नहीं मिलता है, तो मॉड्यूल नॉटफाउंड एरर उठाया जाता है।

आयात करने के बारे में कुछ नियम।

उन बयानों का उपयोग करते हुए फाइलों के शीर्ष पर आयात विवरणों का उल्लेख किया जाना चाहिए। जिस क्रम में आयात का उल्लेख किया जाना है वह नीचे दिया गया है।

  • पायथन के मानक पुस्तकालय मॉड्यूल

  • तृतीय-पक्ष मॉड्यूल से आयात करें

  • स्थानीय अनुप्रयोगों से आयात करें

पूर्ण आयात

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

पैकेज के लिए निम्नलिखित निर्देशिका संरचना पर विचार करें।

python_project_name/packageA/moduleA1.py
python_project_name/packageA/moduleA2.py

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

from packageA.moduleA2 import myfunc

निरपेक्ष आयात का बड़ा लाभ यह है कि यह स्पष्ट रूप से इंगित करता है कि आयात कहाँ हो रहा है, दूसरी ओर कभी-कभी यह काफी लंबा हो सकता है।

सापेक्ष आयात

सापेक्ष आयात में, हम आयातित मॉड्यूल का उपयोग करने वाली वर्तमान स्क्रिप्ट के स्थान के सापेक्ष आयातित पैकेज के पथ का उल्लेख करते हैं।

एक बिंदु वर्तमान स्थान से एक निर्देशिका को इंगित करता है और दो बिंदु दो निर्देशिकाओं को ऊपर और इसी तरह इंगित करता है।

पैकेज के लिए निम्नलिखित निर्देशिका संरचना पर विचार करें।

python_project_name/packageA/moduleA1.py
python_project_name/packageB/moduleB1.py

आइए मान लें कि उपरोक्त पैकेज संरचना में मॉड्यूल बी 1 को मॉड्यूल ए 1 आयात करने की आवश्यकता है। फिर आयात विवरण है:

from ..packageA import moduleA1

दो बिंदु इंगित करते हैं कि मॉड्यूल बी 1 के स्थान से, हमें निर्देशिका पायथन_प्रोजेक्ट_नाम में जाना होगा और फिर मॉड्यूल ए 1 प्राप्त करने के लिए पैकेज ए पर जाना होगा।

इस तरह के आयात कम होते हैं और शीर्ष स्तर की परियोजना को आसानी से आयात विवरण में पथ बदले बिना एक स्थान से दूसरे स्थान पर ले जाया जा सकता है। नकारात्मक पक्ष पर, यदि आयात फ़ोल्डर साझा किए जाते हैं तो पथ में कुछ संशोधन होने पर कोड आसानी से प्रभावित हो जाता है।


  1. CSS निरपेक्ष और सापेक्ष इकाइयों को समझना

    CSS निरपेक्ष इकाइयाँ निरपेक्ष लंबाई की इकाइयाँ एक दूसरे के संबंध में तय की जाती हैं। इन इकाइयों का उपयोग तब किया जाता है जब आउटपुट स्वरूप पहले से ही ज्ञात हो। निरपेक्ष लंबाई की कुछ इकाइयाँ निम्नलिखित हैं - Sr.No इकाई और विवरण 1 सेमी सेंटीमीटर 2 मिमी मिलीमीटर 3 इन इंच (1in =96px =2.54cm)

  1. CSS निरपेक्ष और सापेक्ष इकाइयाँ

    CSS निरपेक्ष इकाइयाँ और सापेक्ष इकाइयाँ दोनों दूरी इकाइयों की श्रेणी में आती हैं। CSS सापेक्ष इकाइयाँ किसी अन्य तत्व के संदर्भ में एक तत्व की लंबाई को परिभाषित करती हैं। उदाहरण के लिए, vh सापेक्ष इकाई व्यूपोर्ट ऊंचाई के सापेक्ष है। CSS सापेक्ष इकाइयाँ निम्नलिखित हैं - Sr.No इकाई और इससे संबंधित

  1. पायथन में Matplotlib कैसे आयात करें?

    सबसे पहले, सुनिश्चित करें कि आपके पास पायथन . है और पिप आपके सिस्टम पर प्रीइंस्टॉल्ड। पायथन संस्करण की जाँच करने के लिए, टाइप करें python --version पाइप संस्करण की जांच करने के लिए, टाइप करें pip −V फिर, निम्न पाइप चलाएँ Matplotlib को स्थापित करने के लिए कमांड प्रॉम्प्ट में कमांड करें। pip i